怎么获取BMP图像每点RGB颜色值
答案:1 悬赏:0 手机版
解决时间 2021-11-15 07:33
- 提问者网友:雪舞兮
- 2021-11-14 20:13
怎么获取BMP图像每点RGB颜色值
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-11-14 20:21
对于HBITMAP位图是有办法的。
假设要处理的位图是HBITMAP hBitmap;
代码如下:
CBitmap m;
m.FromHandle(hBitmap);
BITMAP bt;
GetObject(sizeof(bt),&bt);
unsigned char *px=new unsigned char [bt.bmHeight*bt.bmbmWidthBytes];
m.GetBitmapBits(bt.bmHeight*bt.bmbmWidthBytes,px);//读取位图数据
int PixelBytes=bt.bmBitsPixel/8;//每一个像素占字节数
int rgb_b;
for(y=0;y for(x=0;i {
rgg_b=y*bt.bmWidthBytes+x*PixelBytes;
px[rgb_b+0]
px[rgb_b+1]
px[rgb_b+2]//以上三个值就分别是BGR三个色彩的值。
}
假设要处理的位图是HBITMAP hBitmap;
代码如下:
CBitmap m;
m.FromHandle(hBitmap);
BITMAP bt;
GetObject(sizeof(bt),&bt);
unsigned char *px=new unsigned char [bt.bmHeight*bt.bmbmWidthBytes];
m.GetBitmapBits(bt.bmHeight*bt.bmbmWidthBytes,px);//读取位图数据
int PixelBytes=bt.bmBitsPixel/8;//每一个像素占字节数
int rgb_b;
for(y=0;y
rgg_b=y*bt.bmWidthBytes+x*PixelBytes;
px[rgb_b+0]
px[rgb_b+1]
px[rgb_b+2]//以上三个值就分别是BGR三个色彩的值。
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯