如何获取png图片的RPG值或透明值???

来源:百度知道 编辑:UC知道 时间:2024/06/23 05:37:37
现在有图片是多边形的png图片,如果按照普通的矩形检测肯定会出现鼠标没有实际移到图片里面也会有响应,有没有办法获取png图片的RGB值,鼠标移上去判断是否为透明色,如果不是透明色才处理。
在C里面或HGE里面应该怎么弄??

你可以安装和调用pnglib,zlib读取颜色数据。png透明色图片可能用 调色盘,可能用RGBA。 透明度用Alpha值。鼠标移上去,就是找到点位,然后你根据图片类型调色盘或RGBA,获得数值,按你定的标准判断“透明”还是不透明,再处理。

如果能用gdi来处理。可以将png图片的区域取出(即如你所说的一个多边形区域),然后使用函数
BOOL PtInRegion(
HRGN hrgn, // handle to region
int X, // x-coordinate of point
int Y // y-coordinate of point
);
。该函数的功能,可以从方法名得知,判断一个点是否在区域hrgn中。
希望上面的是你要的信息