Comunidad de diseño web y desarrollo en internet online

Transparentar sectores de imagenes cargadas dinamicamente

Citar            
MensajeEscrito el 23 Sep 2008 01:32 pm
Hola, soy bastante novato por aqui, pero espero conseguir ayuda porque no la encuentro por ningun otro lado.

Tengo un banner, el cual al comenzar, carga una lista de imagenes de un xml que estará conectado a una base de datos.
Luego con esas imagenes, hago una simple animacion.
Pero como las imagenes se juntan en un punto, necesito que los extremos de las fotos sean transparentes.

Esto se podria hacer muy facilmente desde photoshop, pero en este caso no me sirve, ya que el usuario va a cargar en el administrador las fotos tal cual son, y no puede hacer ese efecto, por lo que se lo tengo que dar desde flash.

Es posible esto?
Cada imagen tiene una mascara, lo aclaro porque no se si incide o no en mi problema a resolver.

Bueno, espero haber explicado bien el asunto, y que alguien pueda ayudarme.
Muchas gracias
Pablo

Por pablobrei

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Sep 2008 07:16 pm
Unas de las soluciones es poner la propiedad cacheAsBitmap de tu máscara y MovieClip en true y si la máscara es un gradiente, entonces el movieClip aceptará los valores del mismo, aquí tienes un ejemplo:

Sitúa este código en el primer frame de una película y sitúa junto con el flash una imagen llamada "imagen.jpg"

Código ActionScript :

import flash.geom.Matrix;

//---Crear el Movie
var contenedor:MovieClip = this.createEmptyMovieClip("cont", this.getNextHighestDepth());

var myLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();

//---Cuando se cargue la imagen
listener.onLoadInit = function(target:MovieClip):Void{
   
   applyGradientMask(target);
   
}

myLoader.addListener(listener);
myLoader.loadClip("imagen.jpg", contenedor);

//---Función de crear la máscara con gradiente
function applyGradientMask(target:MovieClip):Void{
   
   target.cacheAsBitmap = true;
   
   //---Crear la máscara
   var mascara:MovieClip = target._parent.createEmptyMovieClip(target._name + "_mask", target._parent.getNextHighestDepth());
   
   //---Crear los parámetros
   var fill:String = "linear";
   var colors:Array = new Array(0x000000, 0x000000);
    var alphas:Array = new Array(100, 0);
    var ratios:Array = new Array(100, 255);
   var matrix:Matrix = new Matrix();
    matrix.createGradientBox(target._width, taregt._height, 0, 0, 0);

   
   with(mascara){
      
      beginGradientFill(fill, colors, alphas, ratios, matrix);
      moveTo(0, 0);
      lineTo(target._width, 0);
      lineTo(target._width, target._height);
      lineTo(0, target._height);
      lineTo(0, 0);
      endFill();
      
      _x = target._x;
      _y = target._y;
      
      cacheAsBitmap = true;
      
   }
   
   //---Aplicar la máscara
   target.setMask(mascara);
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.