菜鸟求教VC++下如何载入一张位图并获取该位图的像素值,需要详细的步骤,谢谢!确定解决问题后给分! 10
我在百度上搜到一段代码如下:CBitmapm_bmp;BITMAP*pBitMap;m_bmp.LoadBitmap("d:\\图片\\示例图片\\flower.bmp"...
我在百度上搜到一段代码如下:
CBitmap m_bmp;
BITMAP *pBitMap;
m_bmp.LoadBitmap("d:\\图片\\示例图片\\flower.bmp");//加载位图
m_bmp.GetBitmap(pBitMap);//获取位图信息
int i,j;
DWORD color=pBitMap->bmBits[i*pBitMap->bmHeight+pBitMap->bmWidth];//访问第i行第j列像素点的颜色值
但我还是一头雾水,求教高人指点。 展开
CBitmap m_bmp;
BITMAP *pBitMap;
m_bmp.LoadBitmap("d:\\图片\\示例图片\\flower.bmp");//加载位图
m_bmp.GetBitmap(pBitMap);//获取位图信息
int i,j;
DWORD color=pBitMap->bmBits[i*pBitMap->bmHeight+pBitMap->bmWidth];//访问第i行第j列像素点的颜色值
但我还是一头雾水,求教高人指点。 展开
1个回答
展开全部
用CImage 类啊。
我用的是VS2010;如果是VC6.0要加些lib和dll库,你网上有下载
里面有很多函数如GetPixel(int x,int y);//Retrieves the color of the pixel specified by x and y.
CImage c;
c.Load("d:/1.bmp");
int w=c.GetWidth();int h=c.GetHeight();
for(int i=0;i<w;i++)
for(int j=0;j<h;j++)
{
COLORREF cc=c.GetPixel(i,j);//COLORREF其实就是int类型,也就是RGB的0-255值
}
我用的是VS2010;如果是VC6.0要加些lib和dll库,你网上有下载
里面有很多函数如GetPixel(int x,int y);//Retrieves the color of the pixel specified by x and y.
CImage c;
c.Load("d:/1.bmp");
int w=c.GetWidth();int h=c.GetHeight();
for(int i=0;i<w;i++)
for(int j=0;j<h;j++)
{
COLORREF cc=c.GetPixel(i,j);//COLORREF其实就是int类型,也就是RGB的0-255值
}
更多追问追答
追问
不好意思,菜鸟继续提问,我用的也是vs2010,上面这段代码怎么实现呢?我是不是编个.cpp文件,在添加公共头文件那里选择MFC就行了。但是我知道代码在哪添加?
追答
mfc条件下直接使用。不要加头文件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询