Flex - Control de imagen

Introducción

El control de imagen le permite importar archivos JPEG, PNG y GIF en tiempo de ejecución. También puede incrustar cualquiera de estos archivos en tiempo de compilación usando @Embed (source = 'filename').

Las imágenes incrustadas se cargan de inmediato, ya que se compilan con el archivo SWF de Flex. Sin embargo, aumentan el tamaño de la aplicación y ralentizan el proceso de inicialización de la aplicación. Las imágenes incrustadas también requieren que recompile sus aplicaciones cada vez que cambien sus archivos de imagen.

Puede cargar una imagen desde el sistema de archivos local en el que se ejecuta el archivo SWF, o puede acceder a una imagen remota, normalmente a través de una solicitud HTTP a través de una red. Estas imágenes son independientes de su aplicación Flex, por lo que puede cambiarlas sin provocar una operación de recompilación siempre que los nombres de las imágenes modificadas sigan siendo los mismos. Las imágenes a las que se hace referencia no agregan una sobrecarga adicional al tiempo de carga inicial de una aplicación.

Declaración de clase

A continuación se muestra la declaración de spark.components.Image clase -

public class Image 
   extends SkinnableComponent

Propiedades publicas

No Señor Descripción de propiedad
1

bitmapData : BitmapData

[solo lectura] Devuelve una copia del objeto BitmapData que representa el contenido de la imagen cargada actualmente (sin escala).

2

bytesLoaded : Number

[solo lectura] El número de bytes de la imagen ya cargada.

3

bytesTotal : Number

[solo lectura] Los datos de imagen totales en bytes cargados o carga pendiente.

4

clearOnLoad : Boolean

Indica si se borra o no el contenido de la imagen anterior antes de cargar contenido nuevo.

5

contentLoader : IContentLoader

Cargador de imágenes personalizadas opcional

6

contentLoaderGrouping : String

Identificador de agrupación de contenido opcional para pasar al método load () de una instancia IContentLoader asociada.

7

fillMode : String

Determina cómo el mapa de bits rellena las dimensiones.

8

horizontalAlign : String

La alineación horizontal del contenido cuando no tiene una relación de aspecto de uno a uno y scaleMode se establece en mx.graphics.BitmapScaleMode.LETTERBOX.

9

preliminaryHeight : Number

Proporciona una estimación para utilizar la altura cuando el diseño solicita los límites "medidos" de la imagen, pero los datos de la imagen aún no se han completado.

10

preliminaryWidth : Number

Proporciona una estimación para utilizar el ancho cuando el diseño solicita los límites "medidos" de la imagen, pero los datos de la imagen aún no se han completado.

11

scaleMode : String

Determina cómo se escala la imagen cuando fillMode se establece en mx.graphics.BitmapFillMode.SCALE.

12

smooth : Boolean

Especifica si se aplica un algoritmo de suavizado a la imagen de mapa de bits.

13

source : Object

La fuente utilizada para el relleno del mapa de bits.

14

sourceHeight : Number

[solo lectura] Proporciona la altura sin escala de los datos de la imagen original.

15

sourceWidth : Number

[solo lectura] Proporciona el ancho sin escala de los datos de la imagen original.

dieciséis

trustedSource : Boolean

[solo lectura] Un indicador de solo lectura que indica si el contenido cargado actualmente se considera cargado de una fuente cuya política de seguridad permite el acceso a imágenes entre dominios.

17

verticalAlign : String

La alineación vertical del contenido cuando no tiene una relación de aspecto de uno a uno y scaleMode se establece en mx.graphics.BitmapScaleMode.LETTERBOX.

Métodos públicos

No Señor Método y descripción
1

Image()

Constructor.

Eventos

No Señor Eventos y descripción
1

complete

Se envía cuando se completa la carga de contenido.

2

httpStatus

Se envía cuando se realiza una solicitud de red a través de HTTP y Flash Player puede detectar el código de estado HTTP.

3

ioError

Se envía cuando se produce un error de entrada o salida.

4

progress

Se envía cuando se carga el contenido.

5

ready

Se envía cuando se completa la carga de contenido.

6

securityError

Se envía cuando se produce un error de seguridad.

Métodos heredados

Esta clase hereda métodos de las siguientes clases:

  • 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

Ejemplo de control de imagen flexible

Sigamos los siguientes pasos para verificar el uso del control de imagen en una aplicación Flex creando una aplicación de prueba:

Paso Descripción
1 Cree un proyecto con un nombre HelloWorld en un paquete com.tutorialspoint.client como se explica en el capítulo Flex - Crear aplicación .
2 Cree activos foler en la carpeta raíz de la aplicación HelloWorld HelloWorld .
3 Descargue una imagen de muestra flex-mini.png en una carpeta de activos en la carpeta HelloWorld.
4 Modifique HelloWorld.mxml como se explica a continuación. Mantenga el resto de los archivos sin cambios.
5 Compile y ejecute la aplicación para asegurarse de que la lógica empresarial funcione según los requisitos.

A continuación se muestra el contenido del archivo mxml modificado 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 = 
               "http://www.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>

Una vez que esté listo con todos los cambios realizados, compilemos y ejecutemos la aplicación en modo normal como hicimos en el capítulo Flex - Crear aplicación . Si todo está bien con su aplicación, producirá el siguiente resultado: [ ]