【发布时间】:2013-01-06 02:23:34
【问题描述】:
我在 Photoshop 中有很大的水平条形图像,它由许多较小的元素组成。背景是透明的,条带从较小的元素(左)到较大的元素(右)。我的目标是让这条带与鼠标事件交互。
每个元素都是某种多边形图像,它被左右修剪,然后导出为 png。然后将其导入画布。
问题是我可以将它们并排放置,但由于它们不是矩形,我需要一种方法来计算由每个元素每一侧的透明像素组成的偏移量,以使它们正确地粘在一起......我我正在使用 KineticJs 为每个元素获取精确的命中区域...所以也许有一种方法可以使用 kineticjs 自动完成,或者我可以使用每个图像数据进行某种操作?
我的问题说明:
有什么想法吗?
我这样做只是因为我更喜欢每个项目上的精确 mouseOver 边界框(而不是简单的矩形),并且宁愿避免手动计算每个偏移量的解决方案......但这也许不值得?!
【问题讨论】:
-
所以图像是疯狂的形状还是像你的插图一样倾斜?
-
看看jsfiddle.net/8Vdht/3,没有办法用 kineticjs 做你想做的事情,因为所有图像都是矩形,你必须自己根据图像进行计算。如果您完成了计算,那么您可以编写逻辑代码。
-
@mattdlockyer :没有疯狂的形状,只有至少两个点(每边一个)接触边界..
-
@EliteOctagon :我的问题是计算/逻辑是什么? =) 但也许这只是矫枉过正......而且我不太擅长计算!
标签: javascript html canvas html5-canvas kineticjs