如何获得彩色图像个点的RGB值

2025-02-14 10:44:54
推荐回答(1个)
回答(1):

不需要免费软件,自己动手都能写一个

CImage img;
img.Load("filename.jpg");

HBITMAP hBmp = img.detach();
BITMAP bmpinfo;
memset(&bmpinfo, 0, sizeof(BITMAP) );
GetObject( hBmp, sizeof(BITMAP), &bmpinfo);

// 然后就可以根据你的坐标X,Y 获取某点的像素值了
char* pBmpBuffer = (CHAR*)bmpinfo->bmBits;
char* pHitPosition = pBmpBuffer+ bmpinfo.bmWidthBytes * Y + X* bmpinfo.bmBitsPixel / 8;
int nGetClr = *( (int*)(pHitPosition) );
nGetClr = nGetClr & 0x00FFFFFF;