读书人

”amp;#x27;GDIamp;#x27;发生一般性异常“

发布时间: 2013-01-02 13:08:44 作者: rapoo

”'GDI'发生一般性错误“ 打印一个图片每个像素的RGB值时
小弟刚看到图像编程,发生这个错误,在网上查了一些答案,但是没有效果,诚心求助。

int nX=10;//这里为了简单,取每行前10个像素,pic.Width
int nY=2;//这里取前2列,pic.Height

BitmapData bmd = pic.LockBits(new Rectangle(0, 0, pic.Width, pic.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);


int stride = bmd.Stride;
System.IntPtr scan0 = bmd.Scan0;

unsafe
{
byte* p = (byte*)(void*)scan0;

for (n = 0; n < nY; n++)//代表行数
{
for (m = 0; m < 3; m++)//代表RGB分量
{
for (i = 0; i < nX; i += 1)//代表列数
{

richTextBox1.Text += p[n * stride + i * 3 + m].ToString() + " ";
}
}
pic.UnlockBits(bmd); //提示这里 GDI发生一般性错误
this.Invalidate();
}
}


-----------------------------------------------------------------
当我nY取1时,也就是只打印第一行的像素时,没有报错,当我nY取大于1时就报错了,郁闷。
[解决办法]
没用过呢,帮你顶下吧,加油,开心每一天

读书人网 >C++ Builder

热点推荐