我有一个运行时生成的位图数据,并想在我的 flex Skin 类中为其应用 scaleninegrid。我做了这样的事情:
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Embed(source="progressBarTrack.png")]
private var host:Class;
[Bindable]
private var texture:BitmapData
protected function skin1_preinitializeHandler(event:FlexEvent):void
{
//here is just an example,my bitmapdata will be retrieved by an other way.
texture = Bitmap(new host()).bitmapData;
}
]]>
</fx:Script>
<s:Graphic scaleGridBottom="11" scaleGridLeft="14" scaleGridRight="40" scaleGridTop="10">
<s:Rect width="300" height="22">
<s:fill>
<s:BitmapFill source="{texture}"/>
</s:fill>
</s:Rect>
</s:Graphic>
但是,无论我是否设置宽度和高度,它都不起作用。我也尝试嵌入源图像,它起作用了,但是由于位图数据是运行时生成的,我无法像@embed 那样设置 scalenine .... .,scaleGridLeft.....
无论如何,是否允许我这样做或我做错了什么?我想在我破解源代码之前获得一些提示,并制作我自己的支持它的图形元素。
非常感谢!!!