2008-09-30 63 views
0

我想实现一个自定义的“断开的图像”图标,如果我无法加载图像出现。为了达到这个目的,我使用了brokenImageSkin参数,但是它以真实的分辨率呈现图像,如果控件的大小受到限制,图像最终会切断图像。在Flex中brokenImageSkin尺寸

<mx:Image brokenImageSkin="@Embed('/assets/placeholder.png')" source="http://www.example.com/bad_url.png"/> 

如何将brokenImageSkin缩放到自定义宽度和高度?

回答

0
  1. 创建一个扩展了ProgrammaticSkin的新类。使用[Embed] meta关键字嵌入图像,并将其与类型为Class的变量相关联(请参阅此文档)

  2. 重写updateDisplaylist。

  3. 在这个函数中调用graphics.clear()。

  4. 呼叫graphics.beginBitmapFill,然后应用合适的尺寸和比例基础上,参数unscaledWidth和unscaledHeight传入。

这是方式更复杂,但它是我所知道的获得更多控制的唯一途径在这样的自定义皮肤操作之外。