我只需要为视图的可见部分应用点击/触摸事件。例如,大小为 200X200 的图像。除了中心50X50,其余部分是透明的。我只想获得 50X50 可见部分的触摸事件,而不是剩余的透明部分。
在上面的图像(它的单一图像)中,只有内部的 Diamond 有可见的部分。除此之外,钻石是透明区域。所以,如果我碰了钻石,那么我只想做其他事情而忽略。
编辑 :
Rachita 的链接帮助了我。我浏览了该链接并知道如何实施。但是在创建点时我无法理解一些常量,例如 320、240 等。就我而言,我知道钻石(在上图中)x 和 y Ponits(实际上是硬编码值)。那么,使用这些我如何确定我是在 Diamond 内部还是外部触摸?
我的钻石积分如下
pointA = new Point(0, 183);
pointB = new Point(183, 0);
pointC = new Point(366, 183);
pointD = new Point(183, 366);
编辑 :
终于从Luksprog得到了解决方案。它基于检查触摸点像素颜色。如果颜色为 0,则表示您触摸了透明层,否则您触摸了图像的某些彩色部分。简单,但非常有效。看看这里。