c# Bitmap位图区域被锁定

定义了一个全局变量
Bitmap curBitmap=Null
curBitmap = new Bitmap(imageBox.Image.Bitmap); //位图赋值
然后写了一个函数
public void Vehiclecolor(Bitmap curBitmap, int iw, int ih)
在里面想调用蓝通道像素值
int greyB = (curBitmap.GetPixel(i, j).B);
但是出现位图区域被锁的情况,在System.Drawing.dll中
可是curBitmap都还未被任何一个进程使用,怎么会被锁?

2个回答

copy一份Bitmap出来,然后修改新copy的bitmap即可

Yuan815249847
小暄暄 刚刚从头再查代码才发现,前面在处理图片的时候用了LockBits没有使用unLockBits解除,所以后面再用的时候被锁了,不过还是谢谢啦
3 年多之前 回复
hjywyj
骑着蜗牛去爬山 回复小暄暄: new一个一样大小的Bitmap,然后在新的bitmap上用画笔画旧的Bitmap
3 年多之前 回复
Yuan815249847
小暄暄 怎么copy?我用了clone也不行,还是被锁
3 年多之前 回复

而且我只是获得 pixel 中的值,也未修改,这也会被锁吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐