鱼C论坛

 找回密码
 立即注册
查看: 1117|回复: 9

[已解决]api GetPixel 编译不通过...初学API调用 难住了

[复制链接]
发表于 2021-11-5 18:24:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

#include<windows.h>
int main() {


        HDC hdc = GetDC(NULL);
        COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89);        //获取指定DC上的像素点RGB值
        //获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
        WORD r = (Windows_Hdc_RGB & 0x00FF0000) >> 16;
        WORD g = (Windows_Hdc_RGB & 0x0000FF00) >> 8;
        WORD b =  Windows_Hdc_RGB & 0x000000FF;
        printf("鼠标位置的颜色RGB值是:%d,%d,%d", r, g, b);
        getchar();
}

最佳答案
2021-11-5 20:52:41
本帖最后由 jhq999 于 2021-11-5 21:11 编辑

没问题啊!除了没有return 0;不知道是不是因为这个原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-11-5 18:43:54 | 显示全部楼层

#include <stdio.h>

#include<windows.h>
int main() {


        HDC hdc = GetDC(NULL);
        COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89);        //获取指定DC上的像素点RGB值
        //获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
   
        getchar();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 19:02:15 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-5 20:07 编辑

       如果编译器是 gcc,编译时,加个 -mwindows 选项就可以了,就像这样:
g++ -mwindows -o x x.c

       如果编译器是 vc,代码中必须再添加 2 行代码:
#include <stdio.h>
#include <windows.h>

#pragma comment(lib, "gdi32.lib")     // API GetPixel() 的出处
#pragma comment(lib, "user32.lib")    // API GetDC() 的出处

int main()
{


        HDC hdc = GetDC(NULL);
        COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89);        //获取指定DC上的像素点RGB值
        //获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
        WORD r = (Windows_Hdc_RGB & 0x00FF0000) >> 16;
        WORD g = (Windows_Hdc_RGB & 0x0000FF00) >> 8;
        WORD b =  Windows_Hdc_RGB & 0x000000FF;
        printf("鼠标位置的颜色RGB值是:%d,%d,%d", r, g, b);
        getchar();
}
        然后照常编译就可以了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 20:22:55 | 显示全部楼层
CodeBlocks  Dev-C++  都通不过  我搞不清楚  鼠标键盘API我测试可以。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 20:52:09 | 显示全部楼层
xinbeyon 发表于 2021-11-5 20:22
CodeBlocks  Dev-C++  都通不过  我搞不清楚  鼠标键盘API我测试可以。。。

       按照 3 楼的方法也不能解决问题?
       DEV-C++ 按 gcc 的方案,用加了 -mwindows 选项的命令行编译。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 20:52:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jhq999 于 2021-11-5 21:11 编辑

没问题啊!除了没有return 0;不知道是不是因为这个原因
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 21:17:34 | 显示全部楼层
D:\Users\Desktop\3.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 21:19:22 | 显示全部楼层
-static-libgcc -lgdi32       DEV-C++  打了这个命令就可以了  我也不知道问什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 21:40:52 | 显示全部楼层
我现在知道是少了库文件  DEV-C++    步骤明白了!!但CodeBlocks这里有卡了 不知道怎么弄了 !!哎 太难了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-5 22:09:36 | 显示全部楼层
-static-libgcc -lgdi32        CodeBlocks    DEV-C++  连接器这里添加这个命令就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 21:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表