1,加载一张,使用GDI+的Bitmap类,创建一个对象,Bitmap bitmap=Bitmap::FromFile("examplepng");
2,从Bitmap对象中获得HBITMAP句柄,HBITMAP句柄指向位图,
HBITMAP hBMP; bitmap->GetHBITMAP(NULL,hBMP);
3,从句柄中找到位图结构体,位图结构体(BITMAP)包含了关于位图的所有信息
BITMAP bitmap; GetObject(hBMP,sizeof(BITMAP),&bitmap);
4,参照BITMAP结构体,就能得到你要的字节数组
bitmapbmBits;
不过得到的不一定是字节数组,因为图像有的用3个字节表示一个像素,有的是一个位标识一个像素。
显卡处理之前的数据不是RGB信号,CPU将有关图像的指令和数据通过总线传送给显卡,显卡GPU按照CPU的指令完成图像处理过程,并把最终图像保存到显存,经过DAC转换输出模拟信号或数字信号到显示器,这个过程是非常复杂的,所以显卡处理之前的数据不经过特殊的设备是无法提取的。
以上就是关于你如何简单地从图像获取像素数据的数组全部的内容,包括:你如何简单地从图像获取像素数据的数组、如何获取电脑输出到显卡的R.G.B电脑图像数据(显卡处理之前的数据)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)