Entradas con la etiqueta ‘utils’

AS3 – Bitmap to ByteArray y ByteArray to Bitmap

Publicado por Iván Gajate el 20 de agosto de 2013 en AS3, Flash | Los comentarios están cerrados.

He encontrado esta utillería muy maja para convertir un Bitmap en un ByteArray y viceversa.

Yo la he modificado un pelín para que acepte el smoothing como parámetro en la conversión a Bitmap, algo que me parece muy necesario:

 

package au.com.dashdigital.utils{
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.utils.ByteArray;
 
	public class BitmapSerialize {
 
		/**
		* Bitmap to ByteArray
		*/
		public static function encode(bitmap:Bitmap):ByteArray {
			bitmap.smoothing = true;
			var bytes:ByteArray = new ByteArray  ;
			bytes.writeUnsignedInt(bitmap.bitmapData.width);
			bytes.writeBytes(bitmap.bitmapData.getPixels(bitmap.bitmapData.rect));
			bytes.compress();
			return bytes;
		}
 
		/**
		* ByteArray to Bitmap
		*/
		public static function decode(bytes:ByteArray,pixelSnapping:String="auto",smoothing:Boolean=false):Bitmap {
			var bitmap:Bitmap = null;
			try {
				bytes.uncompress();
				var width:int = bytes.readUnsignedInt();
				var height:int = bytes.length - 4 / 4 / width;
				var bmd:BitmapData = new BitmapData(width,height,true,0);
				bmd.setPixels(bmd.rect,bytes);
				bitmap = new Bitmap(bmd,pixelSnapping,smoothing);
			} catch (e:Error) {
				trace('BitmapSerialize error uncompressing bytes');
			}
			return bitmap;
		}
 
 
	}
}

AS3 – xml.getElementsByName

Publicado por Iván Gajate el 15 de abril de 2010 en AS3, Flash, Tutoriales | 15 comentarios »

La parejita de getElementById 😉

Muy útil por ejemplo para obtener todos los checkBox de un xml:

<div>
	<form id="aficiones">
		<input type="checkbox" id="chk0" name="c0">Leer</input> <br />
		<input type="checkbox" id="chk1" name="c1">Montar en bici</input> <br />
		<input type="checkbox" id="chk2" name="c2">Dormir</input> <br />
	</form>
</div>

En este caso lo que nos interesa es un listado (XMLList) con todos los nodos del mismo tipo.

function getElementsByName(data:XML, name:String):XMLList{
	return data.descendants(name);
}

// Se usaria asi:
getElementsByName(miXml, "input");

Este tipo de funciones las voy a ir recopilando en una clase XmlUtils.

Descargar XmlUtils.as

Descargar todo el paquete es.yporqueno

AS3 – Poner ceros delante de un número

Publicado por Iván Gajate el 2 de diciembre de 2009 en AS3, Flash | 21 comentarios »

Esta función devuelve un número con tantos dígitos como queramos, poniendo ceros delante:

function addZeroBefore(number:uint, digits:uint):String {
	var numDig:Number = digits-String(number).length;
	if (numDig<=0) {
		return String(number);
	}
	numDig = Math.pow(10, numDig);
	var stringDig:String = String(numDig).substring(1);
	return stringDig + String(number);
}

Ejemplo:

addZeroBefore(99, 4); //0099

Este tipo de funciones las voy a ir recopilando en una clase NumberUtils.

Descargar la clase Descargar NumberUtils.

Descargar todo el paquete es.yporqueno