jueves, 31 de enero de 2008

Pixelizer AS3

Hace un par de meses que he descubierto AS3 (actionscript 3) y el montón de cosas que permite hacer, bueno ya os contaré más adelante algunas de ellas de momento quería compartir una modesta clase que he adaptado a ActionScript 3 para hacer el efecto de pixelización de una imagen, la clase es muy fácil de utilizar. La he adaptado de actionscript 2 que he encontrado en el blog de sephorith.com

package {
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.geom.Rectangle;

public class Pixelizer extends MovieClip {
/** define the variables used **/
private var img:Bitmap;
private var cloned:Bitmap;
private var mc:MovieClip;
private var rect:Rectangle;
private var row:Number;
private var w:Number;
private var h:Number;
private var diff:Number;
private var pixelSize:Number;
private var iPixelSize:Number;
private var step:Number;
private var _timer:Timer;
public function Pixelizer(image_path:Class, pixelSz:Number = 30, _step:Number = 5) {
iPixelSize = pixelSz;
step = _step;
pixelSize = pixelSz;
// attach a bitmapData loading an image
// from the library
img = Bitmap(new image_path);

// and clone it
cloned = Bitmap(new image_path);
// getting the bitmapdata width and height
w = img.width;
h = img.height;

// create a new movieclip and attach the image
// to it
addChild(img);
rect = new Rectangle();
row = -1;
while(row < diff =" w" width =" diff" height =" pixelSize" number =" 0;" y =" c;" _timer =" new" rect =" new" row =" 0;" diff =" w" width =" diff" height =" pixelSize" number =" 0;" y =" c"> 1) {
pixelSize -= step;
}
else if (pixelSize == 1) {
_timer.stop();
}
else {
pixelSize = 1;
}
e.updateAfterEvent();
}
}
}

Para utilizarla solo debe importarse la clase e instanciarla pasandole como parametro una imagen cargada
ej:

[Embed(source = '../library/ojo.jpg')] private var FondoImage:Class;
...
var p:Pixelizer = new Pixelizer(FondoImage,20,2);
...

La clase extiende a la clase MovieClip así que una vez instanciada solo hay que añadirla mediante el método addChild al escenario o a otro elemento.

lunes, 28 de enero de 2008

A2DP en Qtek s200

Esta vez sólo quería hacer una recopilación de la información que he encontrado en los foros de TodoPocketPc.com, ahí se explica como instalar unos cascos bluetooth en diversos dispositivos a través de diversos posts por los cuales me ví obligado a indagar. Visto el caos que me suponía entender todas la instrucciones necesarias para instalar unos simples archivos para hacer funcionar mis recientemente obtenidos (regalados por mi novia :P) cascos Nokia bluetooth, he decidido dejar un post con las instrucciones necesarias para ello, por si le sirve a alguien.
De hecho el proceso es muy simple, si habeis leido los foros de todopocketpc al respecto sabreis que no es complicado o si crees que lo es no te preocupes.
En primer lugar debes descargar http://www.megaupload.com/es/?d=QCMU40SQ (sigue las instrucciones de megaupload para hacerlo), este archivo contiene los archivos necesarios para activar el servicio A2DP requerido para hacer funcionar cascos bluetooth estereo funcionando con este servicio (estos no són cascos manos libres normales, sino estereo).

Una vez descargado el archivo, descomprimelo en cualquier lugar.
Copia los archivos .dll a la carpeta \Windows de la Qtek S200
Copia los otros dos archivos "a2dp.reg" y "Tor_A2DP_cert.cab".
Instala "Tor_A2DP_cert.cab"
Utilizando Resco Explorer Registry Add-in haz click en "Menú>Importar" e importa el archivo "a2dp.reg" (puedes bajar una version de prueba en http://www.resco.net/pocketpc/explorer/downloads.asp , tienes de instalar Resco Explorer y Resco Explorer Add-In)
Reinicia la Qtek

Una vez reiniciada la Qtek crea una nueva asociación con los cascos bluetooth (sí ya la has creado elimina la asociación y creala de nuevo) al asociar los cascos se mostrará un nuevo servicio, "Wireless stereo", activalo.
Ya está, si todo ha funcionado deberás poder escuchar tus canciones preferidas con tus cascos bluetooth.