Spark Image 控件是一个可设置外观的组件,该组件提供可自定义的 loading 状态、chrome 和 error 状态。Image 控件允许您在运行时导入 JPEG、PNG 和 GIF 文件。您还可以使用 @Embed(source='filename') 在编译时嵌入上述任意类型的文件。
注意:Flex 还提供了 SWFLoader 控件用于加载 Flex 应用程序。通常使用 Image 控件来加载静态图形文件和 SWF 文件,而 SWFLoader 用于加载 Flex 应用程序。Image 控件还可用于自定义项呈示器和项目编辑器。
注意:Flex 还包括 BitmapImage 类。该类用于将图像嵌入到外观和 FXG 组件。
嵌入的图像将立即加载,因为它们已经是 Flex SWF 文件的一部分。但是,这些图像会增加应用程序的大小,还会减慢应用程序的初始化过程。嵌入的图像还要求您在图像文件发生更改时立即重新编译应用程序。
如果不希望嵌入资源,也可以在运行时加载资源。您可以在运行 SWF 文件的本地文件系统中加载资源,也可以访问远程资源(通常是借助网络使用 HTTP 请求)。这些图像是独立于您的 Flex 应用程序的,因此,只要修改后的图像名称保持不变,修改图像就不会引发重新编译的操作。引用的图像不会延长应用程序的首次加载时间。但是,如果使用了这些图像并将其加载到 Flash Player 或 AIR,则可能会出现延迟。
默认外观可提供无镶边图像外观,该外观带有基于预加载器的通用进度栏和反映无效内容的错误的图像图标。
要在基于列表的组件(如 List 或 DataGrid)中使用此组件,请创建项呈示器。有关创建项呈示器的信息,请参阅自定义 Spark 项呈示器。
Image 控件具有下列默认特性:
隐藏 MXML 语法
The <s:Image> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Image
Properties
clearOnLoad="true"
contentLoader="null"
contentLoaderGrouping="null"
fillMode="scale"
horizontalAlign="center"
preliminaryHeight="NaN"
preliminaryWidth="NaN"
scaleMode="letterbox"
smooth="false"
source="null
verticalAlign="middle"
Styles
backgroundAlpha="NaN"
backgroundColor="NaN"
enableLoadingState="false"
smoothingQuality="default"
Events
complete="No default"
httpStatus="No default"
ioError="No default"
progress="No default"
ready="No default"
securityError="No default"
/>
样式为常见样式,或与特定主题关联。如果为常见样式,则可以用于任何主题。如果样式与特定主题关联,则只有应用程序使用该主题时才能使用该样式。
语言版本: ActionScript 3.0
产品版本: Flex 4.5
运行时版本: Flash9, AIR 1.1
如果为 true,则启用 loading 外观状态。
默认值为 false。
语言版本: ActionScript 3.0
产品版本: Flex 4.5
运行时版本: Flash9, AIR 1.1
等效于 BitmapImage 的 smoothingQuality 属性的样式。在设置为 BitmapSmoothingQuality.BEST 时,对图像重新采样(如果数据来自受信任的源)以获得较高品质的结果。如果设置为 BitmapSmoothingQuality.DEFAULT,则使用缩放的位图填充的默认舞台品质。
默认值为 。BitmapSmoothingQuality.DEFAULT
bitmapData:BitmapData [只读]
返回 BitmapData 对象的副本,该对象表示当前加载的图像内容(未缩放)。对于不受信任的跨域内容,此属性为 null。
默认值为 null。
public function get bitmapData():BitmapData
bytesLoaded:Number [只读]
已加载的图像的字节数。仅与由请求 URL 加载的图像相关。
默认值为 NaN。
public function get bytesLoaded():Number
bytesTotal:Number [只读]
已加载的或待加载的总图像数据(以字节为单位)。仅与由请求 URL 加载的图像相关。
默认值为 NaN。
public function get bytesTotal():Number
clearOnLoad:Boolean
指示是否在加载新内容之前清除以前的图像内容。
默认值为 true。
public function get clearOnLoad():Boolean public function set clearOnLoad(value:Boolean):void
contentLoader:IContentLoader
要与内容加载器客户端相关联的可选自定义图像加载器(即图像缓存或排队)。
默认值为 null。
public function get contentLoader():IContentLoader public function set contentLoader(value:IContentLoader):void
contentLoaderGrouping:String
要传递给相关联的 IContentLoader 实例的 load() 方法的可选内容分组标识符。仅在分配有效的 contentLoader 时才会考虑此属性。
默认值为 null。
public function get contentLoaderGrouping():String public function set contentLoaderGrouping(value:String):void
fillMode:String
确定位图填充尺寸的方式。如果在标签中设置此属性的值,请使用字符串(如“repeat”)。如果您在 ActionScript 中设置此属性的值,请使用常量(如 mx.graphics.BitmapFillMode.CLIP)。
设置为 BitmapFillMode.CLIP(“clip”)时,位图在区域的边缘处结束。
设置为 BitmapFillMode.REPEAT(“repeat”)时,位图将重复以填充区域。
设置为 BitmapFillMode.SCALE(“scale”)时,位图将拉伸以填充区域。
默认值为 BitmapFillMode.SCALE。
public function get fillMode():String public function set fillMode(value:String):void
horizontalAlign:String
当内容的高宽比不是 1:1 且 scaleMode 设置为 mx.graphics.BitmapScaleMode.LETTERBOX 时,内容的水平对齐方式。
可以是 HorizontalAlign.LEFT (“left”)、HorizontalAlign.RIGHT (“right”) 或 HorizontalAlign.CENTER (“center”) 之一。
仅当 fillMode 设置为 mx.graphics.BitmapFillMode.SCALE(“缩放”)时,此属性才适用。
默认值为 HorizontalAlign.CENTER。
public function get horizontalAlign():String public function set horizontalAlign(value:String):void
preliminaryHeight:Number
当布局请求图像的“测量”范围,但图像数据尚未完成加载时,提供要使用的高度的估计值。如果为 NaN,则在图像完成加载之前,测量高度将一直是 0。
默认值为 NaN。
public function get preliminaryHeight():Number public function set preliminaryHeight(value:Number):void
preliminaryWidth:Number
当布局请求图像的“测量”范围,但图像数据尚未完成加载时,提供要使用的宽度的估计值。如果为 NaN,则在图像完成加载之前,测量宽度将一直是 0。
默认值为 NaN。
public function get preliminaryWidth():Number public function set preliminaryWidth(value:Number):void
scaleMode:String
确定当 fillMode 设置为 mx.graphics.BitmapFillMode.SCALE 时如何缩放图像。
当设置为 mx.graphics.BitmapScaleMode.STRETCH(“伸展”)时,图像被伸展以适应区域。
在设置为 BitmapScaleMode.LETTERBOX (“letterbox”) 时,根据原始未缩放的图像的高宽比对图像进行缩放。
当设置为 BitmapScaleMode.ZOOM(“缩放”),图像会缩放以适应原始的未缩放图像的高宽比。这会导致在一个轴上出现裁剪。
默认值为 BitmapScaleMode.LETTERBOX。
public function get scaleMode():String public function set scaleMode(value:String):void
smooth:Boolean
指定是否将平滑处理算法应用于位图图像。
如果为 false,则使用最近邻点算法来呈现放大的位图图像,而且该图像看起来是像素化的。如果为 true,则使用双线性算法来呈示放大的位图图像。使用最近邻点算法呈现通常较快。
默认值为 false。
public function get smooth():Boolean public function set smooth(value:Boolean):void
source:Object
用于位图填充的源。可以呈示基于各种图形源的填充,其中包括:
- Bitmap 或 BitmapData 实例。
- 表示 DisplayObject 子类的类。BitmapFill 会将该类实例化并为其创建位图呈示。
- DisplayObject 的实例。BitmapFill 将其复制到 Bitmap 中以供填充使用。
- 外部图像文件的名称。
如果使用某个图像文件作为源,则它可以是 PNG、GIF 或 JPG 类型。
要指定一个嵌入的图像源,可以使用 @Embed 指令,如下例所示:
source="@Embed('<i>image_location</i>')"
可通过 URL、URLRequest 或文件引用指定图像位置。如果是文件引用,则其位置是相对于要编译的文件的位置的。
BitmapImage 类旨在与嵌入图像或在运行时加载的图像一起使用。
如果该源是 Bitmap 或 BitmapData 实例,或者是外部图像文件,则一旦不再需要该源时,调用者有责任清除该源。如果 ImageLoader 创建了 BitmapData 实例,则它将在该源更改后清除 BitmapData。
public function get source():Object public function set source(value:Object):void
sourceHeight:Number [只读]
提供原始图像数据的未缩放高度。
默认值为 NaN。
public function get sourceHeight():Number
sourceWidth:Number [只读]
提供原始图像数据的未缩放宽度。
默认值为 NaN。
public function get sourceWidth():Number
trustedSource:Boolean [只读]
一个只读标志,指示是否将当前加载的内容视为是从其安全策略允许跨域图像访问的源加载的。为 false 时,不允许执行高级位图操作,如高品质缩放和拼贴。在全部加载图像后设置此标志。
默认值为 true。
public function get trustedSource():Boolean
verticalAlign:String
当内容的高宽比不是 1:1 且 scaleMode 设置为 mx.graphics.BitmapScaleMode.LETTERBOX 时,内容的垂直对齐方式。
可以是 VerticalAlign.TOP (“top”)、VerticalAlign.BOTTOM (“bottom”) 或 VerticalAlign.MIDDLE (“middle”) 之一。
此属性仅在 scaleMode 设置为 BitmapFillMode.SCALE (“scale”) 时才适用。
默认值为 HorizontalAlign.MIDDLE。
public function get verticalAlign():String public function set verticalAlign(value:String):void
flash.events.Eventflash.events.Event.COMPLETE
在内容加载完成时调度。仅对基于 URL 和 ByteArray 的源(这些源需要加载器)调度此事件。
请注意,对于通过加载器加载的内容,将调度 ready 和 complete 事件。
对于其它源类型(如嵌入),仅调度 ready。
Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。
此事件具有以下属性:
bubblesfalsecancelablefalse;没有要取消的默认行为。currentTargettargetflash.events.HTTPStatusEventflash.events.HTTPStatusEvent.HTTP_STATUS
在通过 HTTP 发出网络请求并且 Flash Player 或 AIR 可以检测到 HTTP 状态代码时调度。
HTTPStatusEvent.HTTP_STATUS 常量定义 httpStatus 事件对象的 type 属性值。
此事件具有以下属性:
bubblesfalsecancelablefalse;没有要取消的默认行为。currentTargetstatustargetflash.events.IOErrorEventflash.events.IOErrorEvent.IO_ERROR
发生输入或输出错误时调度。
定义 ioError 事件对象的 type 属性值。
此事件具有以下属性:
bubblesfalsecancelablefalse;没有要取消的默认行为。currentTargeterrorIDtargettextflash.events.ProgressEventflash.events.ProgressEvent.PROGRESS
当加载内容时调度。
注意:不能保证调度 progress 事件。在不调度任何 progress 事件的情况下,也可能会接收 complete 事件。如果加载的内容是本地文件,就可能会出现这种情况。
定义 progress 事件对象的 type 属性值。
此事件具有以下属性:
bubblesfalsebytesLoadedbytesTotalcancelablefalse;没有要取消的默认行为。currentTargettargetmx.events.FlexEventmx.events.FlexEvent.READY
在内容加载完成时调度。与 complete 事件不同,将为所有源类型调度此事件。
请注意,对于通过加载器加载的内容,将调度 ready 和 complete 事件。
对于其它源类型(如嵌入),仅调度 ready。
FlexEvent.READY 常量为 ready 事件定义事件对象的 type 属性的值。此事件由 BitmapImage 和 Spark Image 类调度以指示指定的图像源已完全加载。
事件对象的属性有下列值:
bubblescancelablereturnValuecurrentTargetmyImage.addEventListener() 注册事件侦听器,则 myImage 是 currentTarget 的值。 targetcurrentTarget 属性始终可以访问侦听事件的 Object。类型flash.events.SecurityErrorEventflash.events.SecurityErrorEvent.SECURITY_ERROR
发生安全性错误时调度。
SecurityErrorEvent.SECURITY_ERROR 常量定义 securityError 事件对象的 type 属性值。
此事件具有以下属性:
bubblesfalsecancelablefalse;没有要取消的默认行为。currentTargettargettext
显示 MXML 语法







