Python如何检测鼠标已经进入图片的非透明区域?

moonsboy 发布于 2017/02/02 16:09
阅读 262
收藏 1

请教:Python 3 如何检测鼠标已经进入某个前景.png图片的非透明区域?

 

加载中
0
Feng_Yu
Feng_Yu

透明不是Alpha通道么?试试把ARGB的Alpha值抓出来应该就行了吧。

查了下PIL,是可以把这个值抓出来的: http://stackoverflow.com/questions/138250/how-can-i-read-the-rgb-value-of-a-given-pixel-in-python

0
pseudo
pseudo
用pil模块加载图片,得到像素的argb值,a就是alpha通道值
0
moonsboy
moonsboy

谢谢大家!不过我不是要去检查图片的像素。而是要检测鼠标是否与png非透明部分碰撞。

moonsboy
moonsboy
回复 @Feng_Yu : 怎样读到一个surface的RGBA值呢?读到后怎么知道该点处是透明的呢?
Feng_Yu
Feng_Yu
那不是一样么?做一个假设,我假设你的图片就是类似于圆形这样封闭式的图形,周围都是透明区域,圆形内部都是不透明的。 那么你的算法就很简单,缓存上一个像素点的RGBA,和本次的RGBA做对比,如果A值从透明变成不透明就认为是碰到了非透明区域。
返回顶部
顶部