gpt4 book ai didi

c# - 来自 png 图像的 GetPixel() 中的 RGB 值错误

转载 作者:行者123 更新时间:2023-11-30 14:07:24 25 4
gpt4 key购买 nike

这就是问题:
我在 .png 中保存了一个位图,颜色为 ARGB(50,210,102,70) ,尺寸为 1 x 1 pixel
我再次检索相同的图像并使用 GetPixel(0,0) 方法,我得到的是 ARGB(50,209,102,70)
检索到的值略有变化,RGB 值略有不同,但 A 值保持不变。
但是,当我将 255 用于 A 值时,会返回正确的 RGB 值。
因此,.. 对 255 使用小于 A 的值会导致上述问题。
这是保存位图的代码。

Bitmap bmpPut = new Bitmap(1, 1); //Also tried with 'PixelFormat.Format32bppArgb'
bmpPut.SetPixel(0, 0, Color.FromArgb(254, 220, 210, 70));
bmpPut.Save("1.png"); //Also tried with using 'ImageFormat.Png'
这是获取像素颜色的代码
Bitmap bit = new Bitmap(Image.FromFile("1.png"));
MessageBox.Show("R:" + bit.GetPixel(0, 0).R.ToString() +
"| G: " + bit.GetPixel(0, 0).G.ToString() +
"| B: " + bit.GetPixel(0, 0).B.ToString() +
"| A: " + bit.GetPixel(0, 0).A.ToString());
我得到的是 ARGB(254,219,209,70) enter image description here
P.S. :我读了一些类似的问题,他们没有解决这个确切的问题,我还没有找到解决方案。

最佳答案

更换

Bitmap bit = new Bitmap(Image.FromFile("1.png")); 


Bitmap bit = new Bitmap("1.png");

应该做的伎俩。
似乎 Image.FromFile() 不像 Bitmap 构造函数那么精确。

关于c# - 来自 png 图像的 GetPixel() 中的 RGB 值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41241831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com