Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2011, 09:10
j_arang
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 2 meses
Puntos: 0
Crear mascara con 2 jpg y copychannel

Un saludo a tod@s. Usando varios bitmapdatas he conseguido crear un efecto de máscara.

El problema es que la imagen de máscara (un jpg de fondo blanco con varios cuadrados de colores, uno de ellos de color negro ) funciona bien excepto con el color negro. Se supone que el color negro es el que hace invisible la capa enmascarada, no debería aparecer, (y aparece).

Ahí va el código de la función final:

addChild(loader2);


//movBitmapData
movBitmapData=new BitmapData(mov.width, mov.height);
movBitmapData.draw(mov);
movRect=new Rectangle(0, 0, mov.width, mov.height);


//maskBitmapData
maskBitmapData=new BitmapData(loader2.width, loader2.height);
maskBitmapData.draw(loader2);
maskRect=new Rectangle(0, 0, loader2.width, loader2.height);

/////////////////////////////////

nireBitmapData = new BitmapData(mov.width, mov.height, true, 0);
nireBitmapData.copyPixels(movBitmapData, movRect, new Point());


nireBitmapData.copyChannel(maskBitmapData, maskRect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
//nireBitmapData.copyChannel(maskBitmapData, maskRect, new Point(), BitmapDataChannel.GREEN, BitmapDataChannel.ALPHA);
//nireBitmapData.copyChannel(maskBitmapData, maskRect, new Point(), BitmapDataChannel.BLUE, BitmapDataChannel.ALPHA);

var nireBitmap:Bitmap = new Bitmap(nireBitmapData);
//nireBitmap.blendMode = BlendMode.ADD;

movBitmapData.dispose();
maskBitmapData.dispose();



addChild(nireBitmap);