windows上如何用HDC获得某张图片上某个点的像素值

最近几天在用dark gdk做入门游戏开发,现在就其中遇到的这个问题来说一说

dark gdk没有提供获得某张图片上某个点像素值的函数和接口,所以我想了两种办法,

第一种是先把这张图片通过dbLoadImage和dbPasteImage将这张图片显示出来,再通过dbPoint获得这个像素点,接着立即通过dbClear将其清除,这中方法可以用,但是貌似很笨拙,我于是去上网查:

http://bbs.csdn.net/topics/350159153

就看到了这个文章,于是就有了第二种方法,通过设备上下文来处理,我也学过几天MFC,所以对这个还是不陌生的,这个第二种解法:

HBITMAP bitmap = (HBITMAP)LoadImage(NULL,"media_file\\Web.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
if(!bitmap) //LoadImage函数的具体用法去网上一查即可
dbPrint("Can't find this picture");
HDC hMemDC = CreateCompatibleDC(NULL);
SelectObject(hMemDC,bitmap);
DWORD color = GetPixel(hMemDC,300,300);
DeleteDC(hMemDC);


OK,问题解决,我这两种方法说实话都很新手,如果有好方法敬请联系我,谢谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值