关于bitmap的SetPixel()函数用法,出现异常,请求帮助
代码如下:
for (int i = 0; i < mymap.Width; i++)
{
for (int j = 0; j < mymap.Height; j++)
{
Color color = Color.FromArgb(CompelColor & 0x0000ff, (CompelColor & 0x00ff00) >> 8, (CompelColor & 0xff0000) >> 16);
mymap.SetPixel(i, j, color);
}
}
mymap是一个bitmap,是一条直线,高度为2,宽度为20。
CompelColor 是我的目标颜色
目前已经能够改变颜色了,但是直线的最后一部分,大概有5个宽度左右,颜色逐渐变淡,越来越透明了
是什么原因呢?请帮忙指正
------解决方案--------------------看样子是color值不一样了,你把下面这句注销掉,用一个固定的颜色试试,还会这样吗?
// Color color = Color.FromArgb(CompelColor & 0x0000ff, (CompelColor & 0x00ff00) >> 8, (CompelColor & 0xff0000) >> 16);
Color color=Color.FromArgb(100,100,100);
------解决方案--------------------一步一步调试
------解决方案--------------------CompelColor的值变了吧?
前面加一句
CompelColor =Color.Blue
试试
------解决方案--------------------先调用bitmap.save,将图片保存到硬盘上,然后打开保存的图片看看是不是正常,如果正常的话就有可能有其他的遮挡物影响了你的视觉