【MFC】像素处理的几个函数

1、GetPixel(i,j) //获取某一坐标的像素值.
2、SetPixel(i,j) //设置某一坐标的像素值.

根据图像的存储结构:CImage类提供了GetBits()函数来读取数据区,GetBits()函数返回的是图片最后一行第一个像素的地址,网上有人说返回指针的起始位置是不同的,有些图片返回的是左上角像素的地址,有些是左下角像素的地址,跟图片内部顺序有关。GetPitch( ) 图像的间距。 如果返回值为负,位图是一个从下到上 DIB,并且原点是左下角。 如果返回值为正的,位图是一组 DIB,并且原点为左上角。  两个函数GetPitch()和GetHeight()一起使用就可以得到图片数据取得起始位置。

byte* pDataDst = (byte*)srcimage->GetBits();
int pitchDst = srcimage->GetPitch();
int bitCountDst = srcimage->GetBPP() / 8;
pixel =  *(pDataDst+pitchDst*j+i*bitCountDst);

这个方法获取某一坐标的像素值的办法快于GetPixel(i,j).


你可能感兴趣的:(【MFC】像素处理的几个函数)