C语言如何处理RGB信号

Python023

C语言如何处理RGB信号,第1张

# include <stdio.h>

//计算样品深度

int sampleDepth(int x)

{

return (x-1)/2

}

int main()

{

int i=0

printf("获取到的样品深度是:")

scanf("%d",&i)

printf("颜色强度%d\r\n",sampleDepth(i))

return 0

}

(1) scanf("%d%d%d",&red,&green,&blue)//输入三个值

(2) red = red%256

blue =blue%256

green = green%256//将数据转换到0~255之间

(3)rgb = red | (green<<8) | (blue<<16)//通过或运算将数据放到对应位置上

(4)0x%x //以16进制输出数据

pData里面保存的就是一个一个的COLORREF结构,你只需要通过BITMAPINFOHEADER中的宽高等信息,计算位移,就可以读取某个点的RGB值了。

还有一个简单的办法,你之前已经有memBitmap这个CBitmap了,通过这个做更方便。通过SelectObject将memBitmap放到一个CDC中,直接使用函数GetPixel函数就可以获取指定某个点的RGB值了,这个不需要计算和位移。