您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 怎么用GetDIBits获取某点的颜色值

怎么用GetDIBits获取某点的颜色值

来源:网络整理     时间:2016/7/6 5:47:41     关键词:

关于网友提出的“ 怎么用GetDIBits获取某点的颜色值”问题疑问,本网通过在网上对“ 怎么用GetDIBits获取某点的颜色值”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 怎么用GetDIBits获取某点的颜色值
描述:

RT.
bitmap已经加载IDB_BITMAP1;大小1024*768
有pDCDest, pDCSrc,现想用GetDIBIts获取某点pt(300, 150)的颜色值


解决方案1:

你可以看看文章中是如何GetDIBits之后得到rgb值的。
http://blog.csdn.net/sjdev/archive/2010/01/23/5249373.aspx

解决方案2:

引用 5 楼 bobo3198 的回复:
能不能给段代码吧,我先前是这样做的,但是不成功。
GetDIBits(pDCDest->m_hDC, hBitmap, 0, nHeight, NULL, &bmpInfo, DIB_RGB_COLORS);
BYTE *bufBmp。。。。。。。我不会对这个进行赋值

你这个首先要确定是不是32位的位图,一般用GetBitmap先获取位图的相关信息,
GetBitmap(&Bmp);
int PixelBytes=Bmp.bmBitsPixel/8;
int i=y*Bmp.bmWidthBytes+x*PixelBytes;//这里的x,y就点的坐标,i表示在数组中首地址
bufBmp[i+0]表示Blue bufBmp[i+1]表示G bufBmp[i+2]表示R
以上介绍了“ 怎么用GetDIBits获取某点的颜色值”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2327367.html

相关图片

相关文章