Flex中的brokenImageSkin尺寸

时间:2020-03-06 14:56:51  来源:igfitidea点击:

我试图实现自定义的"损坏的图像"图标,如果我无法加载图像,该图标将出现。为此,我使用了brokenImageSkin参数,但该参数以其真实分辨率渲染图像,如果控件的大小受到限制,最终将图像剪切掉。

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

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

解决方案

我看到在这个例子中,
http://blog.flexexamples.com/2008/03/02/setting-a-custom-broken-image-skin-for-the-image-control-in-flex/#more-538,出现IO错误我们可以设置图像的宽度和高度的事件。

  • 新建一个扩展ProgrammaticSkin的类。使用[Embed] meta关键字嵌入图像,并将其与Class类型的变量关联(请参阅此文档)
  • 覆盖updateDisplaylist。
  • 在此函数中调用graphics.clear()。
  • 调用graphics.beginBitmapFill,然后根据传入的unscaledWidth和unscaledHeight应用适当的尺寸和缩放比例。

这是更复杂的方法,但这是我所知道的从这样的自定义外观操作中获得更多控制的唯一方法。