用C语言怎么写获取屏幕上某点的颜色

snailzhang 2006-11-25 07:21:00
用C语言怎么写获取屏幕上某点的颜
COLORREF
把代码写一下。要粘上能运行的。谢谢
...全文
1985 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alphaimc 2006-11-26
  • 打赏
  • 举报
回复
得到的cr就是(x,y)象素的颜色
Alphaimc 2006-11-26
  • 打赏
  • 举报
回复
步骤:

1.获取屏幕DC用GetDC,传进一个NULL参数

2.获取象素颜色用GetPixel(hdc, x, y),hdc就是屏幕dc

COLORREF cr;

HDC hdc = GetDC(NULL);

cr = GetPixel(hdc, x, y); //x,y是你想取色的象素坐标
jixingzhong 2006-11-25
  • 打赏
  • 举报
回复
......
获取是 GetPixel ...
SetPixel 写到屏幕上
jixingzhong 2006-11-25
  • 打赏
  • 举报
回复
用 Win API:

查MSDN:
SetPixel(); //API , 不是MFC
youlvconlin 2006-11-25
  • 打赏
  • 举报
回复
unsigned far getpixel(x,y);
如:
#include "Stdio.h"
#include "graphics.h"

main()
{
int x0,y0,x1,y1,bgcolor,color;
int gd=VGA;
int gm=VGAHI;
initgraph(&gd,&gm,"");
cleardevice();
setbkcolor(5);
putpixel(5,5,6) ;
printf("%d",getpixel(5,5));
getch();
closegraph();
}
morphymorphy 2006-11-25
  • 打赏
  • 举报
回复
getpixel

原型:extern int getpixel(int x, int y);
用法:#include <system.h>
功能:返回屏幕上指定点的状态
说明:(x,y)为屏幕上点的坐标,如果点为清除状态返回零,否则返回非零值。

举例:
// pixel.c
#include <system.h>
main()
{
int i,j;
clrscr();
printf("V");
gotoxy(10,10); // Hide cursor

for(i=0;i<8;i++)
for(j=0;j<16;j++)
{
if(getpixel(i,j))
putpixel(10+i,10+j,1);
else
putpixel(10+i,10+j,0);
}

getchar();
return 0;
}
morphymorphy 2006-11-25
  • 打赏
  • 举报
回复
API函数

GetPixel 在指定的设备场景中取得一个像素的RGB值
snailzhang 2006-11-25
  • 打赏
  • 举报
回复 1
我要的是不用MFC库的。就是用windowsAPI,自己写的。
比如在C++里新见个工程新建一个空文件,,,在里边写
用MFC的我会。我就是想弄明白。不用MFC的类自己写。怎么写。
wqvbka123 2006-11-25
  • 打赏
  • 举报
回复
原理很简单,只需要简要的三步。既:获取屏幕DC、得到当前鼠标所在的像素值、分解出像素值中的红、绿、蓝三色既可,很简单吧!

关键代码实现:

1、获取屏幕DC

HDC hDC = ::GetDC(NULL);   //获取屏幕DC

2、获取当前鼠标位置像素值

CPoint pt;
GetCursorPos(&pt);       //得到当前鼠标所在位置

COLORREF clr = ::GetPixel(hDC, pt.x, pt.y); //获取当前鼠标点像素值

3、分解出像素点中的红、绿、蓝颜色值

CString ClrText;
ClrText.Format("%d",GetRValue(clr));     //分解出红色值
ClrText.Format("%d",GetGValue(clr)); //分解出绿色值
ClrText.Format("%d",GetBValue(clr)); //分解出蓝色值

::ReleaseDC(NULL, hDC); //释放屏幕DC
jixingzhong 2006-11-25
  • 打赏
  • 举报
回复
直接写屏 !

70,040

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧