- Adobe Flex 教程
- Flex - 首页
- Flex - 概述
- Flex - 环境
- Flex - 应用程序
- Flex - 创建应用程序
- Flex - 部署应用程序
- Flex - 生命周期阶段
- Flex - 使用 CSS 样式
- Flex - 使用皮肤样式
- Flex - 数据绑定
- Flex - 基本控件
- Flex - 表单控件
- Flex - 复杂控件
- Flex - 布局面板
- Flex - 视觉效果
- Flex - 事件处理
- Flex - 自定义控件
- Flex - RPC 服务
- Flex - FlexUnit 集成
- Flex - 调试应用程序
- Flex - 国际化
- Flex - 打印支持
- Adobe Flex 资源
- Flex - 快速指南
- Flex - 有用资源
- Flex - 讨论
Flex - 图像控件
简介
图像控件允许您在运行时导入 JPEG、PNG 和 GIF 文件。您还可以使用 @Embed(source='filename') 在编译时嵌入任何这些文件。
嵌入式图像会立即加载,因为它们与 Flex SWF 文件一起编译。但是,它们会增加应用程序的大小并减慢应用程序初始化过程。嵌入式图像还要求您在图像文件更改时重新编译应用程序。
您可以从运行 SWF 文件的本地文件系统加载图像,也可以访问远程图像,通常通过网络上的 HTTP 请求。这些图像独立于您的 Flex 应用程序,因此您可以更改它们而不会导致重新编译操作,只要修改后的图像名称保持不变。引用的图像不会增加应用程序初始加载时间的任何额外开销。
类声明
以下是 **spark.components.Image** 类的声明:
public class Image extends SkinnableComponent
公共属性
| 序号 | 属性及描述 |
|---|---|
| 1 | bitmapData : BitmapData [只读] 返回表示当前加载的图像内容(未缩放)的 BitmapData 对象的副本。 |
| 2 | bytesLoaded : Number [只读] 已加载图像的字节数。 |
| 3 | bytesTotal : Number [只读] 以字节为单位加载或待加载的总图像数据。 |
| 4 | clearOnLoad : Boolean 表示是否在加载新内容之前清除先前的图像内容。 |
| 5 | contentLoader : IContentLoader 可选的自定义图像加载器 |
| 6 | contentLoaderGrouping : String 可选的内容分组标识符,传递给关联的 IContentLoader 实例的 load() 方法。 |
| 7 | fillMode : String 确定位图如何填充尺寸。 |
| 8 | horizontalAlign : String 当内容没有一对一的纵横比且 scaleMode 设置为 mx.graphics.BitmapScaleMode.LETTERBOX 时,内容的水平对齐方式。 |
| 9 | preliminaryHeight : Number 在布局请求图像的“测量”边界但图像数据尚未完成加载时,提供要用于高度的估计值。 |
| 10 | preliminaryWidth : Number 在布局请求图像的“测量”边界但图像数据尚未完成加载时,提供要用于宽度的估计值。 |
| 11 | scaleMode : String 当 fillMode 设置为 mx.graphics.BitmapFillMode.SCALE 时,确定图像如何缩放。 |
| 12 | smooth : Boolean 指定是否将平滑算法应用于位图图像。 |
| 13 | source : Object 位图填充使用的源。 |
| 14 | sourceHeight : Number [只读] 提供原始图像数据的未缩放高度。 |
| 15 | sourceWidth : Number [只读] 提供原始图像数据的未缩放宽度。 |
| 16 | trustedSource : Boolean [只读] 一个只读标志,表示当前加载的内容是否被认为是从安全策略允许跨域图像访问的源加载的。 |
| 17 | verticalAlign : String 当内容没有一对一的纵横比且 scaleMode 设置为 mx.graphics.BitmapScaleMode.LETTERBOX 时,内容的垂直对齐方式。 |
公共方法
| 序号 | 方法及描述 |
|---|---|
| 1 | Image() 构造函数。 |
事件
| 序号 | 事件及描述 |
|---|---|
| 1 | complete 内容加载完成后调度。 |
| 2 | httpStatus 通过 HTTP 发出网络请求并且 Flash Player 可以检测到 HTTP 状态代码时调度。 |
| 3 | ioError 发生输入或输出错误时调度。 |
| 4 | progress 内容正在加载时调度。 |
| 5 | ready 内容加载完成后调度。 |
| 6 | securityError 发生安全错误时调度。 |
继承的方法
此类继承自以下类:
- spark.components.supportClasses.SkinnableComponent
- mx.core.UIComponent
- mx.core.FlexSprite
- flash.display.Sprite
- flash.display.DisplayObjectContainer
- flash.display.InteractiveObject
- flash.display.DisplayObject
- flash.events.EventDispatcher
- Object
Flex 图像控件示例
让我们按照以下步骤,通过创建一个测试应用程序来检查 Flex 应用程序中图像控件的使用:
| 步骤 | 描述 |
|---|---|
| 1 | 在包 *com.tutorialspoint.client* 下创建一个名为 *HelloWorld* 的项目,如“Flex - 创建应用程序”一章中所述。 |
| 2 | 在 HelloWorld 应用程序根文件夹 *HelloWorld* 中创建一个名为 *assets* 的文件夹。 |
| 3 | 将示例图像 flex-mini.png 下载到 HelloWorld 文件夹下的 *assets* 文件夹中。 |
| 4 | 修改 *HelloWorld.mxml*,如下所述。保持其余文件不变。 |
| 5 | 编译并运行应用程序,以确保业务逻辑按要求工作。 |
以下是修改后的 mxml 文件 **src/com.tutorialspoint/HelloWorld.mxml** 的内容。
<?xml version = "1.0" encoding = "utf-8"?>
<s:Application xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s = "library://ns.adobe.com/flex/spark"
xmlns:mx = "library://ns.adobe.com/flex/mx"
width = "100%" height = "100%" minWidth = "500" minHeight = "500"
applicationComplete = "init(event)" >
<fx:Style source = "/com/tutorialspoint/client/Style.css" />
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
[Bindable]
[Embed(source = "assets/flex-mini.jpg")]
private var flexImage:Class;
protected function init(event:FlexEvent):void {
dynamicImage.source =
"https://tutorialspoint.com/images/flex-mini.png";
}
]]>
</fx:Script>
<s:BorderContainer width = "550" height = "600" id = "mainContainer"
styleName = "container">
<s:VGroup width = "100%" height = "100%" gap = "50" horizontalAlign = "center"
verticalAlign = "middle">
<s:Label id = "lblHeader" text = "Basic Controls Demonstration"
fontSize = "40" color = "0x777777" styleName = "heading" />
<s:Panel title = "Using Embeded Image" width = "420" height = "200" >
<s:Image source = "{flexImage}" />
</s:Panel>
<s:Panel title = "Using Image from URL" width = "420" height = "200" >
<s:Image id = "dynamicImage" />
</s:Panel>
</s:VGroup>
</s:BorderContainer>
</s:Application>
完成所有更改后,让我们以普通模式编译和运行应用程序,就像我们在“Flex - 创建应用程序”一章中所做的那样。如果您的应用程序一切正常,它将产生以下结果:[ 在线尝试 ]