<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Daniel Zegarra &#187; Flex</title>
	<atom:link href="http://danielzegarra.net/category/adobe/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielzegarra.net</link>
	<description>Tutoriales, críticas y la vida en Polska</description>
	<lastBuildDate>Sat, 21 Aug 2010 02:11:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nace Kopernik, un sistema académico</title>
		<link>http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/</link>
		<comments>http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 23:14:07 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[AMF]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Copernico]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Kopernik]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Zend AMF]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1308</guid>
		<description><![CDATA[Kopernik es el nombre clave del proyecto personal al que he dedicado mi tiempo estos ultimos 4 meses. Se trata de un sistema academico online desarrollado usando Flex, PHP (Zend Framework) y MySQL para su uso en instituciones educativas. Aprovechando la experiencia que adquiri trabajando y estudiando en universidades decidi crear desde cero un sistema [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
<li><a href='http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/' rel='bookmark' title='Permanent Link: Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;'>Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a title="Nicolas Copernico en Wikipedia" href="http://es.wikipedia.org/wiki/Nicol%C3%A1s_Cop%C3%A9rnico" target="_blank">Kopernik</a> es el nombre clave del proyecto personal al que he dedicado mi tiempo estos ultimos 4 meses. Se trata de un sistema academico online desarrollado usando Flex, PHP (Zend Framework) y MySQL para su uso en instituciones educativas.</p>
<div id="attachment_1314" class="wp-caption aligncenter" style="width: 399px"><a href="http://danielzegarra.net/wp-content/uploads/2010/08/logo_kopernik.png" rel="lightbox[1308]"><img class="size-full wp-image-1314    " title="Logo de Kopernik" src="http://danielzegarra.net/wp-content/uploads/2010/08/logo_kopernik.png" alt="Logo de Kopernik" width="389" height="256" /></a><p class="wp-caption-text">Logo de Kopernik. La idea era que el sistema sea usado por escolares y por lo tanto, no debia ser tan serio.</p></div>
<p>Aprovechando la experiencia que adquiri trabajando y estudiando en universidades decidi crear desde cero un sistema que se ajustara a los requerimientos especiales que cada institucion pudiera tener. Como recien estaba empezando pense que mejor seria comenzar con modulos para colegios pero&#8230; resulta que he olvide como funcionan!</p>
<p>Cuando estaba en el colegio no pensaba en procesos y en maneras de como mejorarlos como lo hago ahora. Por eso es que los modulos que ya he creado almacenan datos como el valor en creditos de cada asignatura o que permiten a un alumno matricularse en asignaturas distintas que el resto de sus companeros. De hecho el proceso que los administradores deben realizar para matricular de un alumno esta pensado usando los requerimientos universitarios o de institutos.</p>
<p>En los colegios todos los alumnos llevan lo mismo. Solo hay dos opciones:</p>
<ul>
<li>No te matriculas un año o&#8230;</li>
<li>Estas matriculado y llevas todas las asignaturas de tu año (con algunas excepciones como no asistir al curso de religion por solicitud de los padres).</li>
</ul>
<p>Es algo en lo que hay que trabajar.</p>
<p>Por el momento me quedan algunos modulos importantes por desarrollar, como el control de evaluaciones, asistencias y materiales de clase.</p>
<p>A continuacion explico algunos detalles del software y al final puedes encontrar un enlace para que lo puedas ver en accion.</p>
<h2>Caracteristicas generales</h2>
<ul>
<li>Es modular, de tal forma que sea facil reutilizar los modulos comunes y adecuarlos a lo que necesite.</li>
<li>Permite el trabajo colaborativo (tiempo real).</li>
<li>Solo hace uso del puerto 80. No es necesario habilitar la salida puertos adicionales en una red controlada.</li>
<li>El cliente solo necesita tener Adobe Flash instalado.</li>
<li>No requiere de licencias adicionales.</li>
<li>Es multiplataforma. Corre en Windows, Mac, Linux y cualquier otro sistema operativo que tenga soporte para Adobe Flash (talvez Android?)</li>
<li>Es multitarea. Las aplicaciones y modulos son cargados dentro de contenedores visibles como ventanas. Por lo tanto, no es necesario salir de un modulo para entrar a otro. Puedes tener varios modulos abiertos al mismo tiempo compartiendo el escritorio visible o minimizar algunos de ellos para usarlos luego.</li>
<li>Al instalarlo en un servidor web con un IP publico es accesible desde cualquier parte del mundo.</li>
<li>Control de acceso, a modulos y acciones, por grupos de usuarios. Se define que grupos tienen acceso a que modulos y las operaciones que realizan estos.</li>
<li>El sistema cuenta con algunas herramientas como el administrador de tareas <em>(clic secundario sobre el fondo)</em> y un explorador de directorios (del servidor).</li>
</ul>
<div id="attachment_1321" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/08/kopernik_apps.png" rel="lightbox[1308]"><img class="size-medium wp-image-1321" title="Tres aplicaciones abiertas: el explorador de alumnos, el explorador de archivos y el administrador de tareas" src="http://danielzegarra.net/wp-content/uploads/2010/08/kopernik_apps-450x265.png" alt="Tres aplicaciones abiertas: el explorador de alumnos, el explorador de archivos y el administrador de tareas" width="450" height="265" /></a><p class="wp-caption-text">Tres aplicaciones abiertas: el explorador de alumnos, el explorador de archivos y el administrador de tareas</p></div>
<h2>Tecnologias usadas</h2>
<ul>
<li>Flex 4: Empece el proyecto con la version 3 pero las nuevas caracteristicas (en especial la capacidad de trabajar con archivos localmente y el skining) resultaron muy tentadoras y tuve que hacer la migracion ya casi a mitad del proyecto (y acepto que no fue una decision muy inteligente. Me retraso todo el calendario pero espero haya valido la pena).</li>
<li>Zend Framework: Elegi este framework por la empresa que hay detras (Zend creadora de PHP) y por que ya me encuentro familiarizado con el. Ademas podia usar el paquete Zend_Amf para conectar Flex con el servidor. Tuve que migrar desde AMFPHP por lo que perdi el explorador de servicios y el control de acceso en cada clase. Realmente fue una migracion dura porque las clases del sistema (no academicas) ya estaban empezadas y funcionaban perfecto con AMFPHP. La gran ventaja de usar Zend_Amf es que tienes a tu disposicion todo el framework de Zend y ademas es el unico soporte para AMF que tiene la venia de Adobe sin ser desarrollado por Adobe (y la version actual de AMFPHP se encontraba abandonada en una version beta).</li>
<li>PHP: Como es obvio, por ser un lenguaje fantastico y porque casi todo servidor Apache lo tiene instalado.</li>
<li>MySQL: Necesitaba una base de datos transaccional y confiable. Que mejor que MySQL usada en la mayoria de servicios de hosting.</li>
</ul>
<h2>Requisitos</h2>
<ul>
<li>Del lado del cliente
<ul>
<li>Flash Player 10.0.0 o una version mayor.</li>
</ul>
</li>
<li>Del lado del servidor
<ul>
<li>PHP 5.2</li>
<li>Apache</li>
<li>MySQL</li>
</ul>
</li>
</ul>
<h2>Acceso a la demo</h2>
<p>Antes de ingresar por favor, lee las siguientes instrucciones:</p>
<ul>
<li>Los datos de acceso se encuentran pre-escritos en los campos de texto, solo es cuestion de logearse.</li>
<li>El usuario de prueba pertenece al grupo de administradores, por lo que tendras acceso sin restriccion sobre los modulos y acciones que puedan estos realizar. Ten cuidado de eliminar aplicaciones, volver a registrarlas te puede resultar complicado si no sabes donde se encuentran almacenadas.</li>
<li>La falta de acentos se debe a que uso en teclado en ingles. Lo corregire muy pronto. Las fallas ortograficas se deben a mi falta de atencion a las clases de lengua (junto con la eficiencia del corrector ortografico de Word). Cuando tenga tiempo aplicare las correcciones necesarias.</li>
<li>La primera vez que cada aplicacion es solicitada puede demorarse unos segundos en cargarse (dependiendo de tu velocidad de salida a Internet). La aplicacion queda almacenada en la cache de tu navegador y es cargada de alli en las solicitudes posteriores.</li>
<li>Y por ultimo, te recuerdo que esta es una version en desarrollo y por ello puede tener errores. Si encuentras alguno, por favor ayudame a corregirlo comentandolo en este post. Gracias.</li>
</ul>
<p>Eso es todo. La direccion de acceso es la siguiente: <span style="font-size: 16;"><a title="Abrir Kopernik" href="http://kopernik.danielzegarra.net/" target="_blank">http://kopernik.danielzegarra.net/.</a></span> Espero tus comentarios.</p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
<li><a href='http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/' rel='bookmark' title='Permanent Link: Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;'>Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando Flex 4 SDK sobre Flex Builder 3</title>
		<link>http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/</link>
		<comments>http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:07:08 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Flex 4 SDK]]></category>
		<category><![CDATA[Flex Builder]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1273</guid>
		<description><![CDATA[Me descargue el trial de Flash Builder y llevo algunos dias trabajando con el, aprovechando las mejoras. Pero cuando el tiempo de prueba se acabe tendre que volver a Flex Builder y necesito poder continuar con los proyectos que ya tenia creados. La gran versatilidad es un punto a favor de Eclipse, el IDE elegido [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/18/instalar-blueprint-desde-adobe-labs/' rel='bookmark' title='Permanent Link: Instalar Blueprint desde Adobe Labs'>Instalar Blueprint desde Adobe Labs</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
<li><a href='http://danielzegarra.net/2009/10/13/compartir-internet-usando-adaptadores-wifi/' rel='bookmark' title='Permanent Link: Compartir internet usando adaptadores WiFi'>Compartir internet usando adaptadores WiFi</a></li>
<li><a href='http://danielzegarra.net/2009/11/22/enviar-y-recibir-smss-usando-el-modem-3g/' rel='bookmark' title='Permanent Link: Enviar y recibir SMS&#8217;s usando el modem 3G'>Enviar y recibir SMS&#8217;s usando el modem 3G</a></li>
<li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Me descargue el trial de Flash Builder y llevo algunos dias trabajando con el, aprovechando las mejoras. Pero cuando el tiempo de prueba se acabe tendre que volver a Flex Builder y necesito poder continuar con los proyectos que ya tenia creados.</p>
<p>La gran versatilidad es un punto a favor de Eclipse, el IDE elegido por Adobe para Flex Builder y Flash Builder. Eclipse te permite tener varios compiladores y elegir con cual compilar cada proyecto.</p>
<h3>Instrucciones para instalar Flex SDK4 en Flex Builder 3</h3>
<ol>
<li>Descargar el .zip con el SDK 4 de Flex desde <a title="Flex SDK - Adobe Open Source" href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads" target="_blank">Adobe Open Source</a>.
<p><div id="attachment_1276" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.21.png" rel="lightbox[1273]"><img class="size-medium wp-image-1276" title="Contenido del SDK de Flex 4" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.21-450x361.png" alt="Contenido del SDK de Flex 4" width="450" height="361" /></a><p class="wp-caption-text">Contenido del SDK de Flex 4</p></div></li>
<li>Crea una carpeta con el nombre 4.0 en el directorio <code>sdks</code> ubicado en la raiz de tu instalacion de Adobe Flex Builder (usualmente C:\[Program Files]\Adobe\Flex Builder 3). Asi como la siguiente imagen:
<p><div id="attachment_1275" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.12.png" rel="lightbox[1273]"><img class="size-medium wp-image-1275" title="Los SDKs de Flex" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.12-450x337.png" alt="Los SDKs de Flex" width="450" height="337" /></a><p class="wp-caption-text">Los SDKs de Flex</p></div></li>
<li>Extraer todo el contenido del .zip en el directorio que acabas de crear.</li>
<li>Abres Flex Builder y te diriges al menu Window &gt; Preferences &gt; Flex &gt; Installed Flex SDKs.
<p><div id="attachment_1278" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.4.png" rel="lightbox[1273]"><img class="size-medium wp-image-1278" title="SDKs instalados" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.4-450x314.png" alt="SDKs instalados" width="450" height="314" /></a><p class="wp-caption-text">SDKs instalados</p></div></li>
<li>Le das un clic al boton Add, para registrar un nuevo SDK, y completas el formulario.
<p><div id="attachment_1279" class="wp-caption aligncenter" style="width: 453px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.5.png" rel="lightbox[1273]"><img class="size-full wp-image-1279" title="Registrando el nuevo SDK" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.5.png" alt="Registrando el nuevo SDK" width="443" height="174" /></a><p class="wp-caption-text">Registrando el nuevo SDK</p></div></li>
</ol>
<p>Con esto ya puedes compilar con el nuevo SDK.</p>
<p>La nueva version de Flex trae algunos cambios en la plantilla mxml y si nos vamos a poner a compilar un proyecto ya existente tendremos errores. Entonces tenemos dos opciones: actualizar nuestro codigo para compilar sin problemas o activar la compatibilidad con Flex 3 y dejar nuestro codigo tal como esta. Si ya tienes un proyecto iniciado con Flex 3 te recomiento tan solo activar el modo de compatibilidad y aprovechar los nuevos metodos y clases que incluye este nuevo SDK sin tener que actualizar codigo.</p>
<h3>Habilitando compatibilidad con Flex 3</h3>
<ol>
<li>Abre un proyecto y ve a las propiedades del mismo (clic secundario &gt; Properties) y elige la ficha Flex Compiler (ve el screenshot).
<p><div id="attachment_1280" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.6.png" rel="lightbox[1273]"><img class="size-medium wp-image-1280" title="Configurando el compilador en cada proyecto" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.6-450x367.png" alt="Configurando el compilador en cada proyecto" width="450" height="367" /></a><p class="wp-caption-text">Configurando el compilador en cada proyecto</p></div></li>
<li>Elije como SDK el que ultimo que has registrado y pega la siguiente linea como argumentos adicionales para el compilador:<code>-compatibility-version=3.5 -theme=${flexlib}/themes/Halo/halo.swc</code></li>
</ol>
<p>Veamos que hace cada argumento:</p>
<h4><code>-compatibility-version=3.5</code></h4>
<p>Activa la compatibilidad con la version 3.5 del SDK de Flex. Si quieres puedes reemplaza el 3.5 por 3.3 o simplemente 3. La diferencia (si es que hay alguna) sera insignificante.</p>
<h4><code>-theme=${flexlib}/themes/Halo/halo.swc</code></h4>
<p>Define a <code>Halo</code> como tema por defecto. Flex 4 usa <code>Spark</code> como tema predeterminado que en su forma silvestre es mas feo que el carajo. Me recuerda a las aplicaciones java de JCreator. Si deseas mantener el aspecto de tus componentes tal y como eran antes de usar este nuevo SDK entonces manten este argumento en tu proyecto.</p>
<p>Listo, eso es todo. Ya tienes el nuevo Flex 4.</p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/18/instalar-blueprint-desde-adobe-labs/' rel='bookmark' title='Permanent Link: Instalar Blueprint desde Adobe Labs'>Instalar Blueprint desde Adobe Labs</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
<li><a href='http://danielzegarra.net/2009/10/13/compartir-internet-usando-adaptadores-wifi/' rel='bookmark' title='Permanent Link: Compartir internet usando adaptadores WiFi'>Compartir internet usando adaptadores WiFi</a></li>
<li><a href='http://danielzegarra.net/2009/11/22/enviar-y-recibir-smss-usando-el-modem-3g/' rel='bookmark' title='Permanent Link: Enviar y recibir SMS&#8217;s usando el modem 3G'>Enviar y recibir SMS&#8217;s usando el modem 3G</a></li>
<li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar Blueprint desde Adobe Labs</title>
		<link>http://danielzegarra.net/2010/06/18/instalar-blueprint-desde-adobe-labs/</link>
		<comments>http://danielzegarra.net/2010/06/18/instalar-blueprint-desde-adobe-labs/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 08:49:10 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Adobe Labs]]></category>
		<category><![CDATA[Blueprint]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex Bulder]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1270</guid>
		<description><![CDATA[Blueprint es un plugin para Flex Builder 3 y Flash Builder 4 que te muestra ejemplos de la web relacionados al fragmento de codigo con el que trabajas. Usualmente cuando tienes dudas de como conseguir el resultado esperado (o te da flojera hacerlo tu mismo)  buscas en la web por ejemplos. Esto simplemente te ahorra [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Blueprint es un plugin para Flex Builder 3 y Flash Builder 4 que te muestra ejemplos de la web relacionados al fragmento de codigo con el que trabajas.</p>
<div id="attachment_1271" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.11.png" rel="lightbox[1270]"><img class="size-medium wp-image-1271" title="Blueprint example" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.11-450x307.png" alt="Blueprint example" width="450" height="307" /></a><p class="wp-caption-text">Blueprint example</p></div>
<p>Usualmente cuando tienes dudas de como conseguir el resultado esperado (o te da flojera hacerlo tu mismo)  buscas en la web por ejemplos. Esto simplemente te ahorra el trabajo. Tan solo marca el nombre de la clase y presiona Alt+B (Ctrl+B en Mac) para buscar ejemplos relacionados. Puedes mejorar el resultado agregando palabras clave al campo de busqueda. La verdad, es mas comodo que usar el browser.</p>
<p>Para instalarlo dirigete a <a title="Instrucciones de instalacion de Blueprint (ingles)" href="http://labs.adobe.com/wiki/index.php/Blueprint:Installation_Instructions" target="_blank">labs.adobe.com/wiki/index.php/Blueprint:Installation_Instructions</a> y sigue los pasos. Las instrucciones usan screenshots de Flex Builder 3 pero la manera de hacerlo en Flash Builder 4 no es muy distinta (ambos son eclipse).</p>
<p><a title="Adobe Labs - Blueprint" href="http://labs.adobe.com/technologies/blueprint/">Visitar la pagina de Blueprint en Adobe Labs</a></p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/06/18/instalar-blueprint-desde-adobe-labs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex: Clase datagridColumnSelector</title>
		<link>http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/</link>
		<comments>http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 21:53:43 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[UIComponents]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1212</guid>
		<description><![CDATA[Esta es una clase que hice para Flex para mostrar y ocultar las columnas de cualquier instancia de DataGrid sin ensuciarse con mucho codigo. Se puede implementar en solo una linea de codigo: new datagridColumnSelector(datagridInstance, [campoignorado1]); El primer argumento es obligatorio y debe ser una instancia de DataGrid. El segundo argumento es opcional y debe [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Esta es una clase que hice para Flex para mostrar y ocultar las columnas de cualquier instancia de DataGrid sin ensuciarse con mucho codigo.</p>
<div id="attachment_1213" class="wp-caption aligncenter" style="width: 460px"><a href="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.2.png" rel="lightbox[1212]"><img class="size-medium wp-image-1213" title="Menu contextual del DataGrid" src="http://danielzegarra.net/wp-content/uploads/2010/06/screenshot.2-450x305.png" alt="Menu contextual del DataGrid" width="450" height="305" /></a><p class="wp-caption-text">Menu contextual del DataGrid</p></div>
<p>Se puede implementar en solo una linea de codigo:</p>
<pre class="brush: as3; light: true;">
new datagridColumnSelector(datagridInstance, [campoignorado1]);
</pre>
<p>El primer argumento es obligatorio y debe ser una instancia de DataGrid. El segundo argumento es opcional y debe recibir un Array con los nombres de las columnas a ignorar. </p>
<p>Cambiando algunas propiedades por defecto:</p>
<pre class="brush: as3; light: true;">
datagridColumnSelector.label_hide = &quot;Ocultar&quot;;
datagridColumnSelector.label_show = &quot;Mostrar&quot;;
var selector:datagridColumnSelector = new datagridColumnSelector(data_dg);
selector.hidden = [&quot;col3&quot;];
</pre>
<p>En el siguiente ejemplo la columna 4 y 5 estan ocultas por defecto. Tambien se decide ignorar la columna 3 para que el usuario no pueda ocultar todas las columnas.<br />
Nota que el valor del atributo <code>headerText</code> en cada <code>DataGridColumn</code> es usado en el menu contextual para que el usuario pueda identificar la columna. </p>
<pre class="brush: xml; auto-links: false;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application layout=&quot;vertical&quot; creationComplete=&quot;init()&quot;
	xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;
	backgroundGradientAlphas=&quot;[1.0, 1.0]&quot; backgroundGradientColors=&quot;[#FFFFFF, #E7E7E7]&quot;
	paddingBottom=&quot;8&quot; paddingLeft=&quot;8&quot; paddingRight=&quot;8&quot; paddingTop=&quot;8&quot; horizontalAlign=&quot;left&quot; viewSourceURL=&quot;srcview/index.html&quot;&gt;

	&lt;mx:Script&gt;
		&lt;![CDATA[
			import net.danielzegarra.utils.datagridColumnSelector;

			protected function init():void{
				new datagridColumnSelector(data_dg, [&quot;col3&quot;]);
			}
		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:Label text=&quot;Haga un clic secundario sobre el DataGrid para mostrar u ocultar columnas.&quot;/&gt;
	&lt;mx:DataGrid id=&quot;data_dg&quot; width=&quot;100%&quot; height=&quot;100%&quot;&gt;
		&lt;mx:columns&gt;
			&lt;mx:DataGridColumn headerText=&quot;Columna 1&quot; dataField=&quot;col1&quot;/&gt;
			&lt;mx:DataGridColumn headerText=&quot;Columna 2&quot; dataField=&quot;col2&quot;/&gt;
			&lt;mx:DataGridColumn headerText=&quot;Columna 3&quot; dataField=&quot;col3&quot;/&gt;
			&lt;mx:DataGridColumn headerText=&quot;Columna 4&quot; dataField=&quot;col4&quot; visible=&quot;false&quot;/&gt;
			&lt;mx:DataGridColumn headerText=&quot;Columna 5&quot; dataField=&quot;col5&quot; visible=&quot;false&quot;/&gt;
		&lt;/mx:columns&gt;
	&lt;/mx:DataGrid&gt;
&lt;/mx:Application&gt;
</pre>
<p>Y el resultado:<br />
<iframe class="" src="http://danielzegarra.net/wp-content/uploads/2010/06/datagridColumnSelector/index.html" style="width: 100%; height: 300px; " frameborder="0" scrolling="" onload="scro11me(this)"></iframe><script type="text/javascript">function scro11me(f){f.contentWindow.scrollTo(0,0); }</script>
<p><a title="Ver el codigo fuente" href="http://danielzegarra.net/wp-content/uploads/2010/06/datagridColumnSelector/srcview/index.html">Ver la fuente</a> | <a href="http://danielzegarra.net/download/8" title="Selector de columnas para datagrid.">Descargar datagridColumnSelector Class</a></p>
<p>Nota: Funciona tambien con Air aunque es preferible usar las <a href="http://livedocs.adobe.com/flex/3/langref/flash/display/NativeMenu.html">clases nativas de Adobe Air</a>.</p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transfiriendo valores NaN entre Zend AMF y Flex</title>
		<link>http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/</link>
		<comments>http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/#comments</comments>
		<pubDate>Wed, 26 May 2010 20:45:11 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[AMF]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend AMF]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1170</guid>
		<description><![CDATA[Hay una discrepancia entre AS3 y PHP aun no solucionada por Zend AMF que puede llevar a un error no esperado cuando se trabajan con valores numericos. El problema consiste en que para PHP una variable es nula si null, sin embargo para AS3 el valor nulo de una variable depende de su tipo. Especificamente [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/' rel='bookmark' title='Permanent Link: Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;'>Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;</a></li>
<li><a href='http://danielzegarra.net/2010/06/07/tips-sobre-class-mapping-con-zend-amf/' rel='bookmark' title='Permanent Link: Tips sobre Class mapping con Zend AMF'>Tips sobre Class mapping con Zend AMF</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
<li><a href='http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/' rel='bookmark' title='Permanent Link: Nace Kopernik, un sistema académico'>Nace Kopernik, un sistema académico</a></li>
<li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hay una discrepancia entre AS3 y PHP aun no solucionada por Zend AMF que puede llevar a un error no esperado cuando se trabajan con valores numericos. El problema consiste en que para PHP una variable es nula si <code>null</code>, sin embargo para AS3 el valor nulo de una variable depende de su tipo. Especificamente para las variables de tipo Number este valor es <a title="Number - Adobe® Flex™ 3.5 Language Reference" href="http://livedocs.adobe.com/flex/3/langref/Number.html#NaN" target="_blank"><code>NaN</code></a>.</p>
<p>Cuando Zend AMF devuelve una clase con variables nulas AS3 lo recibe asi, pero para AS3 las variables Number no pueden ser <code>null</code> y para salir de este problema convierte el <code>null</code> en 0 (cero). Y es asi como terminas teniendo variables con valores en cero en lugar del esperado <code>NaN</code>.</p>
<p>La manera mas facil de arreglarlo es hacerle un puente al problema utilizando setters para recibir el valor entregado por el servidor, validarlo y decidir si es un aceptarlo o no.</p>
<p>Se puede entender mejor viendo el siguiente ejemplo:</p>
<pre class="brush: as3;">
package DTO{
	[RemoteClass(alias=&quot;claseDTO&quot;)]
	[Bindable]
	public class claseDTO{
		/**
		 * Solo se tiene acceso a esta variable a travez de su getter/setter
		 */
		private var _numero:Number;

		/*
		 * Definiendo el getter/setter para la variable privada _numero.
		 * Recordar que Number es una subclase de Object.
		 */
		public function get numero():Object{
			return _numero;
		}
		public function set numero(val:Object):void{
			//Si el valor dado es un numero
			if(val is Number)
				_numero = val as Number;
		}

	}
}
</pre>
<p>Los comentarios son bienvenidos.</p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/' rel='bookmark' title='Permanent Link: Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;'>Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;</a></li>
<li><a href='http://danielzegarra.net/2010/06/07/tips-sobre-class-mapping-con-zend-amf/' rel='bookmark' title='Permanent Link: Tips sobre Class mapping con Zend AMF'>Tips sobre Class mapping con Zend AMF</a></li>
<li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
<li><a href='http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/' rel='bookmark' title='Permanent Link: Nace Kopernik, un sistema académico'>Nace Kopernik, un sistema académico</a></li>
<li><a href='http://danielzegarra.net/2010/06/21/usando-flex-4-sdk-sobre-flex-builder-3/' rel='bookmark' title='Permanent Link: Usando Flex 4 SDK sobre Flex Builder 3'>Usando Flex 4 SDK sobre Flex Builder 3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Decidirse entre Zend AMF, AMFPHP, WebORB, &#8230;</title>
		<link>http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/</link>
		<comments>http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/#comments</comments>
		<pubDate>Fri, 21 May 2010 12:13:52 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[AMF]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[AMFPHP]]></category>
		<category><![CDATA[WebORB]]></category>
		<category><![CDATA[Zend AMF]]></category>
		<category><![CDATA[ZendFramework]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1166</guid>
		<description><![CDATA[Para mi, decidir que framework usar para conectar una aplicacion Flex/Flash con un servidor PHP es todo un dilema debido a que mi eleccion influrira mucho en mi calendario de trabajo. Supongo a muchos les  pasara que se familiarizan con un pequeño grupo de lenguajes y/o  frameworks y lo utiliza en todo proyecto que crea [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
<li><a href='http://danielzegarra.net/2010/06/07/tips-sobre-class-mapping-con-zend-amf/' rel='bookmark' title='Permanent Link: Tips sobre Class mapping con Zend AMF'>Tips sobre Class mapping con Zend AMF</a></li>
<li><a href='http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/' rel='bookmark' title='Permanent Link: Nace Kopernik, un sistema académico'>Nace Kopernik, un sistema académico</a></li>
<li><a href='http://danielzegarra.net/2010/03/14/la-directiva-date-timezone-de-php/' rel='bookmark' title='Permanent Link: La directiva date.timezone de PHP'>La directiva date.timezone de PHP</a></li>
<li><a href='http://danielzegarra.net/2010/01/17/amfphp-1-9-y-la-llegada-de-php-5-3/' rel='bookmark' title='Permanent Link: AMFPHP 1.9 y la llegada de PHP 5.3'>AMFPHP 1.9 y la llegada de PHP 5.3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Para mi, decidir que framework usar para conectar una aplicacion Flex/Flash con un servidor PHP es todo un dilema debido a que mi eleccion influrira mucho en mi calendario de trabajo. Supongo a muchos les  pasara que se familiarizan con un pequeño grupo de lenguajes y/o  frameworks y lo utiliza en todo proyecto que crea conveniente. Asi era yo con AMFPHP, el primer gateway AMF que conoci alla cuando Flash 8 era el ultimo lanzamiento de Macromedia.</p>
<p>En si tenemos tres o cuatro candidatos potenciales y estos son: <a href="http://zendframework.com/download/amf">Zend AMF</a>,  <a href="http://www.amfphp.org/">AMFPHP</a> y <a href="http://www.themidnightcoders.com/products/weborb-for-php/overview.html">WebORB</a>. A continuacion comento las caracteristicas de cada uno.</p>
<p><a href="http://www.amfphp.org/">AMFPHP </a>es creo, sin lugar a dudas, la mejor alternativa si deseas conectar tu aplicacion Flex o Flash con un servidor PHP (y este a su vez con la BD) y no deseas tener que pasar por una larga curva de aprendizaje. AMFPHP es ligero, incluye una gestion de roles bastante simple, no es necesaria su instalacion, soporta mapeo de clases (VOs) y por ultimo, incluye un navegador de servicios para que puedas probar los mismos rapidamente. Ademas, soporta AMF0 y AMF3 (por si usas AS2 o AS3) de forma transparente. Ademas, viene preparado para comsumir Web services. Entre sus desventajas estaba la falta de soporte. La persona detras del proyecto lo abandono dejandolo en una version beta (y sin la nueva documentacion completa) durante un par de años  pero recientemente su desarrollo <a href="http://wadearnold.com/blog/flash/amfphp/passing-the-amfphp-torch" target="_blank">acaba de ser retomado</a> y gracias a ello, se acaba de lanzar, por fin, la version 1.9 oficial.</p>
<p>El siguente es <a href="http://zendframework.com/download/amf">Zend AMF</a>, desarrollado por <a href="http://www.zend.com">Zend </a>(la empresa detras de PHP) es el mas apoyado de todas las alternativas debido a que tiene la venia de Adobe y, obviamente, es desarrollado por Zend. A pesar de esto, carece de  caracteristicas que AMFPHP o WebORB ya ofrecen (como seguridad integrada y un navegador de servicios) obligandote a implementarlas tu mismo o, lo que es mas facil, a vivir sin ellas. Pero su gran ventaja es que al ser una parte de Zend Framework (aunque se puede descargar de manera independiente) se acopla perfectamente a su arsenal de herramientas lo que es muy util, creeme. Hoy acabo de enterarme que el problema de la <a title="ZendAMF serialization slow?" href="http://framework.zend.com/issues/browse/ZF-7493" target="_blank">lenta serializacion de datos </a>que Zend AMF tenia en versiones anteriores acaba de ser solucionada de manera oficial en la version 1.10.4.</p>
<p>El tercero es <a href="http://www.themidnightcoders.com/products/weborb-for-php/overview.html">WebORB</a>. Si tuviera que definirlo en una sola palabra esa seria &#8220;Completo&#8221;. Tiene tantas caracteristicas que impresiona. Un administrador de servicios decente junto con opciones pensadas para ahorrarle al desarrollador la necesidad de escribir codigo, incluye su propio administrador de acceso a servicios y metodos ademas de un administrador centralizado para el mapeo de clases. Sin lugar a dudas es el que ofrece mas opciones a simple vista. El problema de WebORB es justo eso, ofrece tantas opciones que pueden confundir al novato, darle una sensacion de demasiada complejidad.</p>
<p>Escribo este post porque hace poco he pasado de AMFPHP a Zend AMF. Me costo hacer la mudanza debido a que tenia muchas clases que recibian matrices asociativas como parametros (AMFPHP mapeaba los objetos de Flash en arrays asociativos y Zend AMF lo hace como objetos) y basaba casi toda la implementacion de seguridad en el metodo <a href="http://www.joshuaostrom.com/2008/06/03/securing-amfphp-19-via-authentication/">beforeFilter </a>de cada clase/servicio.</p>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/05/26/transfiriendo-valores-nan-entre-zend-amf-y-flex/' rel='bookmark' title='Permanent Link: Transfiriendo valores NaN entre Zend AMF y Flex'>Transfiriendo valores NaN entre Zend AMF y Flex</a></li>
<li><a href='http://danielzegarra.net/2010/06/07/tips-sobre-class-mapping-con-zend-amf/' rel='bookmark' title='Permanent Link: Tips sobre Class mapping con Zend AMF'>Tips sobre Class mapping con Zend AMF</a></li>
<li><a href='http://danielzegarra.net/2010/08/14/nace-kopernik-un-sistema-academico/' rel='bookmark' title='Permanent Link: Nace Kopernik, un sistema académico'>Nace Kopernik, un sistema académico</a></li>
<li><a href='http://danielzegarra.net/2010/03/14/la-directiva-date-timezone-de-php/' rel='bookmark' title='Permanent Link: La directiva date.timezone de PHP'>La directiva date.timezone de PHP</a></li>
<li><a href='http://danielzegarra.net/2010/01/17/amfphp-1-9-y-la-llegada-de-php-5-3/' rel='bookmark' title='Permanent Link: AMFPHP 1.9 y la llegada de PHP 5.3'>AMFPHP 1.9 y la llegada de PHP 5.3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/05/21/decidirse-entre-zend-amf-amfphp-weborb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex: Convertir una Imagen en ByteArray y un ByteArray en Imagen</title>
		<link>http://danielzegarra.net/2010/02/16/flex-convertir-una-imagen-en-bytearray-y-un-bytearray-en-imagen/</link>
		<comments>http://danielzegarra.net/2010/02/16/flex-convertir-una-imagen-en-bytearray-y-un-bytearray-en-imagen/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 23:56:37 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[ByteArray]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1087</guid>
		<description><![CDATA[Convertir una imagen en ByteArray es algo simple, lo difícil es revertir el proceso. Yo uso Loader para cargar la data y luego lo agrego a una instancia del componente Image usando addChild(). De esta forma evito el tener que detectar cuando Loader termina de cargar los datos para recien poder usar la imagen. En [...]


Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Convertir una imagen en ByteArray es algo simple, lo difícil es revertir el proceso.</p>
<p>Yo uso Loader para cargar la data y luego lo agrego a una instancia del componente Image usando addChild(). De esta forma evito el tener que detectar cuando Loader termina de cargar los datos para recien poder usar la imagen.</p>
<p>En el siguiente ejemplo la imagen de la derecha es copiada y puesta en un ByteArray. Luego, los datos son comprimidos a JPEG, cargados usando Loader y por ultimo asignados a el componente Image de la derecha. El resultado: una copia de la imagen original. Incluso me parece que la copia tiene colores mas brillantes <img src='http://danielzegarra.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
No, mentira. Es una copia identica.</p>
<iframe class="" src="http://danielzegarra.net/wp-content/uploads/2010/02/BAtoImagen/BAtoImagen.html" style="width: 100%; height: 300px; " frameborder="0" scrolling="" onload="scro11me(this)"></iframe><script type="text/javascript">function scro11me(f){f.contentWindow.scrollTo(0,0); }</script>
<a href="http://danielzegarra.net/download/9" title="Ejemplo de como convertir un ByteArray a Imagen">Descargar Ejemplo de como convertir un ByteArray a Imagen</a>


<p>Entradas posiblemente relacionadas con este post:<ol><li><a href='http://danielzegarra.net/2010/06/11/flex-clase-datagridcolumnselector/' rel='bookmark' title='Permanent Link: Flex: Clase datagridColumnSelector'>Flex: Clase datagridColumnSelector</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2010/02/16/flex-convertir-una-imagen-en-bytearray-y-un-bytearray-en-imagen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.714 seconds -->
