这不起作用:
Color col;
objBitmap = new Bitmap(Resource1.im);
col = Color.FromName("White");
// Perform an operation on the Color value here.
objBitmap.SetPixel(x, y, col);
当我将图像加载到图片框控件时,它仍然是黑色(应该是白色的像素)。
编辑:
这是我在编辑后将位图加载到图片框控件的方法:
objBitmap.Save(Resource1.im.ToString());
this.pictureBox2.Image = ResizeBitmap(Resource1.im, 100, 100);
objBitmap.Dispose();
答案 0 :(得分:3)
你可能在PictureBox中显示错误的位图。
在调试器的“监视”窗口中,右键单击objBitmap
并点击somePictureBox.Image
,然后单击“创建对象ID”。
如果两个对象具有不同的ID,则表示您显示的图像不正确。
编辑:Bitmap.Save
采用文件名。
您的代码在当前目录中创建名为Bitmap
的文件
将其更改为pictureBox2.Image = ResizeBitmap(objBitmap, 100, 100);
ResX文件是只读的;您无法在运行时修改存储的位图
相反,您可以将修改后的图像放在静态Bitmap
字段中。 (并确保在您不再需要它之前不要将其丢弃)
请注意,顺便说一下,你可以写
Color col = Color.White;
答案 1 :(得分:2)
不确定修改某种资源的Bitmap
是否是个好主意。我Clone
它是安全的。话虽如此,我无法重现问题。
Bitmap objBitmap = (Bitmap)Resource1.im.Clone();
答案 2 :(得分:1)
你检查了col设置的内容吗?特别是alpha组件设置为什么? IE浏览器。你可能会添加透明白色?