【问题标题】:FLEX: Repeating a background on component?FLEX:在组件上重复背景?
【发布时间】:2010-10-22 20:46:08
【问题描述】:

我想使用小图像并重复它们作为 Flex 中组件的背景。 Flex 组件目前有一个 backgroundImage 属性,它允许您传递一个 URL 或一个用作背景的类。还有一个名为 backgroundSize 的属性,您可以将其设置为“auto”,使其成为图像的大小,或 100% 使其拉伸到组件的大小。没有重复选项。所以我从这里下载了一个扩展名为 RepeatingImage 的 SWFLoader 类的类:http://renaun.com/flex2/posts/repeatingimage/index.html 这个类允许您设置一个源并重复它。我扩展了这个类,使其具有我想用作背景图像的图像的默认源,我将新类设置为 backgroundImage。并将 backgroundSize 设置为 100%。我在做的时候觉得这是一个非常聪明的解决方案,结果发现它不起作用,我这样做时没有设置背景图像?

所以也许我需要更改一些东西以使我的方法有效,或者也许有人有不同的方法,无论哪种方式我都希望能够在组件上设置重复的背景图像?

谢谢!

【问题讨论】:

  • 我认为您使用的类可能必须扩展 BitmapData (文档不说)。如果是这样,我想知道是否有人知道扩展 BitmapData 类的方法,以便在拉伸时重复像素而不是拉伸它们?

标签: apache-flex


【解决方案1】:

本网站推荐使用 Degrafa。 Background Image Repeat

似乎大多数手动执行此操作的解决方案都涉及使用以下代码重载 updateDisplayList():取自 Source

override protected function updateDisplayList(w:Number,h:Number):void
{
    super.updateDisplayList( w, h );

    graphics.clear();               
    graphics.beginBitmapFill( backgroundBitmapData );          
    graphics.drawRect( 0, 0, w, h );  

    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2015-07-04
    相关资源
    最近更新 更多