我有Skin for SkinnableContainer的皮肤 Skin仅包含原始contentGroup和s:BitmapImage作为背景 背景图像根据宽度和高度内容拉伸 使用过的图像是带有透明区域的.png。
要创建hitarea,我使用了这个算法:
http://www.webverwirklichung.com/en/blog/programming/flex/creating-hitarea-png-image-transparent-alpha-regions-flex
一切正常,直到我开始拉伸SkinnableContainer(以及皮肤中的图像)。
我有一个scale9Grid图像。
问题是,在拉伸图像时,图像的bitmapData仍然相同(相同的宽度和高度)。因此,我需要以某种方式获取scale9Grid应用程序的图像的bitmapData。
组件的背景是图像,它有一些透明区域。只能单击图像的可见部分。图像将根据contentGroup中的内容进行拉伸。
请咨询。
答案 0 :(得分:0)
如何使用BitmapData.draw()
方法?
调整容器大小并应用9切片缩放(或任何适当的触发器)后:
var b:BitmapData = new BitmapData(container.width, container.height);
b.draw(container);
然后将此新位图与创建命中区域的算法一起使用。