Image控件允许您在运行时导入JPEG,PNG和GIF文件。 您还可以通过使用@Embed(source ='filename')在编译时嵌入任何这些文件。
嵌入图像会立即加载,因为它们是使用Flex SWF文件编译的。 然而,它们增加了应用程序的大小,并减慢了应用程序初始化过程。 嵌入图像还要求您在图像文件更改时重新编译应用程序。
您可以从运行SWF文件的本地文件系统加载图像,也可以访问远程图像,通常通过网络上的HTTP请求。 这些图像与Flex应用程序无关,因此只要修改的图像的名称保持不变,就可以更改它们,而不会导致重新编译操作。 引用的图像不会对应用程序的初始加载时间产生额外的开销。
以下是 spark.components.Image 类的声明:
public class Image extends SkinnableComponent
S.N. | 属性和描述 |
---|---|
1 | bitmapData:BitmapData [只读]返回表示当前加载的图像内容(未缩放)的BitmapData对象的副本。 |
2 | bytesLoaded:Number [只读]已加载的映像的字节数。 |
3 | bytesTotal:Number [只读]以字节加载或挂起加载的总图像数据。 |
4 | [只读]以字节加载或挂起加载的总图像数据。... 表示在加载新内容之前是否清除先前的图像内容。 |
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。 |
S.N. | 方法和描述 |
---|---|
1 | Image() 构造函数。 |
S.N. | 活动和描述 |
---|---|
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
目的
让我们按照以下步骤通过创建测试应用程序来检查Flex应用程序中Image控件的使用:
步 | 描述 |
---|---|
1 | 在 Flex - 创建应用程序章节中所述,在包 com.tutorialspoint.client 下创建名为 HelloWorld 的项目。 |
2 | 在HelloWorld应用程序根文件夹 HelloWorld 中创建foler 资产。 |
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 = "//www..cn/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 - 创建应用程序中一样 章节。 如果一切顺利,您的应用程序,这将产生以下结果:[在线试用]
介绍Label是一个UIComponent,可以渲染一行或多行统一格式的文本。 要显示的文本由继承自TextBase控件的text属性确定。类声明以...
环境变量Vite 在一个特殊的import.meta.env对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量:import.met...
先决条件已安装 JDK/JRE(版本 7 或以上),这里是 Win10 系统在命令行输入:java -version 可查询当前电脑已安装的版本下载从 G...
Maven 组件界面介绍如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:第一个按钮:Reimport All Maven Projects ...