Foros del Web » Creando para Internet » Flash y Actionscript »

Crear mascara con 2 jpg y copychannel

Estas en el tema de Crear mascara con 2 jpg y copychannel en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/02/2011, 09:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 9 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);
  #2 (permalink)  
Antiguo 08/02/2011, 11:06
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Crear mascara con 2 jpg y copychannel

Lo pongo con un formato distingo. La cuestión es Simplemento cómo hacer una máscara con una imagen .png de forma dinámica.


[ highlight=actionscript ] 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); [ /highlight ]

Etiquetas: jpg, mascara
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:12.