首页 新闻 会员 周边

Api的GetPixel和BitMap的GetPixel的偏差,即两个Color的换算

0
悬赏园豆:30 [已关闭问题] 关闭于 2009-02-14 20:04

我进行了如下实验,使用了如下代码:

Code

然后对这个图分别取色,将值相减,但是每次结果都不一样,希望有知道的人解答一下

问题补充: 以上分别取色的代码如下 int netColor = img.GetPixel(x, y).ToArgb(); int apiColor = Win32Api.GetPixel(imgHDC, x, y); int sub = netColor - apiColor; 其中x y是坐标点,循环取值,然后将差值输出,但是这个差值每次循环都不一样,很是奇怪 其实我有进行过另外一个实验,代码如下: int ret = Color.Red.ToArgb() - 0xFF0000;//值为-16777216 int r = Color.FromArgb(0xFF0000 - 16777216).R;//值为255 int ret1 = Color.Green.ToArgb()-0x00FF00;//值为-16809728 这个不知道为什么会这样 int g = Color.FromArgb(0x00FF00 - 16777216).G;//值为255 int ret2 = Color.Blue.ToArgb() - 0x0000FF;//值为-16777216 int b = Color.FromArgb(0x0000FF - 16777216).B;//值为255 int ret3 = Color.FromArgb(123, 123, 123).ToArgb() - 0x7B7b7B;//值为-16777216 以上如果忽略掉绿色的那个值,可得出公式 net的色值=api的色值-16777216 但是很明显,两次实验的结果并不一致。对于其中原因我实在是想不明白了,希望哪个知道的不吝赐教一下。谢了。 分数不多,请见谅
土匪的主页 土匪 | 初学一级 | 园豆:160
提问于:2009-02-14 12:17
< >
分享
所有回答(1)
0

mark...

Jared.Nie | 园豆:1940 (小虾三级) | 2009-02-14 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册