Comunidad de diseño web y desarrollo en internet online

Particionar una imagen

Citar            
MensajeEscrito el 20 May 2009 08:15 pm
Hola amigos, aqui me tienen de nuevo para hacerles una pregunta :P
Tengo una imagen cargada con Load, y lo que quiero es saber como hago para dividirla en partes y luego arrastrarlas, por la ayuda de Flash tengo entendido que debo hacerlo usando Bitmap, pero no puedo lograr hacerlo, alguna pista me caeria de perlas ^^

Por kriptonitex

17 de clabLevel



 

msie7
Citar            
MensajeEscrito el 20 May 2009 08:40 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 May 2009 09:07 pm
Gracias por responder tan rapido, ahora mismo le doy una revisadita al codigo, y regreso para contarles como me fue. :lol:

Por kriptonitex

17 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 May 2009 06:23 am
"sobre lo de bitmapData"
Cuando cargamos una imagen con un Loader, una vez acabado de cargar, en la función tenemos un bitmap

Código ActionScript :

var loader:Loader = new Loader(); 
loader.load(new URLRequest("imagen1.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader); 

function onLoader (e:Event){
   //<---aquí tenemos el Bitmap------>//
   var bitmap = loader.content as Bitmap;
}

Si tenemos el bitmap, tenemos su bitmapData. Creando nuevos objetos BitmapData y usando el método copyPixels podremos crear nuevos Objetos Bitmap que son los que tendremos que arrastrar

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 May 2009 02:26 pm
Hola amigos, sigo intentando y no puedo conseguir particionar mi imagen, :( necesito su ayuda para lo siguiente:
tengo la imagen cargada como me indicaron:

var loader:Loader = new Loader();
loader.load(new URLRequest("imagen1.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader)


ahora lo que necesito es partir esa imagen y mover sus partes, buscando por ahi averigue que podia hacerlo con BitmapData, y salio lo siguiente:

var figura1:BitmapData = new BitmapData( 40, 40, false, 0x000000FF);
var figura2:BitmapData = new BitmapData(80, 40, false, 0x0000CC44);
var rectangulo:Rectangle = new Rectangle(0, 0, 20, 20);
var punto:Point = new Point(10, 10);
figura2.copyPixels(figura1, rectangulo, punto);
var mapaBits1:Bitmap = new Bitmap(figura1);
this.addChild(mapaBits1);
var mapaBits2:Bitmap = new Bitmap(figura2);
this.addChild(mapaBits2);
mapaBits2.x = 50;


Claro que con este podría hacer lo que necesito, pero quiero saber como puedo cortar mi propia imagen, osea "imagen1.jpg", por favor si me dan una mano que ando perdido.

Por kriptonitex

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 May 2009 03:05 pm
Kriptonitex, fijaté bien en los argumentos de la función (o del método) copyPixels

Código ActionScript :

copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, 
          alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false)

En el primer parámetro le decimos de dónde (de qué bitmapData) debemos copiar los pixels. con el código que has puesto, estás usando "figura1" (que es un BitmapData que creas tú)

Si te fijas en el código que está puesto en el anterior post, DENTRO de la función "onLoader", tenemos una variable "bitmap" que hace referencia al Bitmap de la imagen "imagen1.jpg". Los Objetos Bitmap tiene una propiedad "bitmapData". Así, lo único que tienes que hacer es, en lugar de usar "figura1" usar "bitmap.bitmapData"

Código ActionScript :

function onLoader (e:Event){ 
   //<---aquí tenemos el Bitmap------>// 
   var bitmap = loader.content as Bitmap; 
   ...creas las fig1, fig2 fig3,etc que quieras
   ...a la hora de hacer el copyPixels usas "bitmap.bitmapData"
   figura1.copyPixels(bitmap.bitmapData, rectangulo, punto);
}


}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 May 2009 04:07 pm
gracias Eliseo2, ver voy a probar...

Por kriptonitex

17 de clabLevel



 

chrome

 

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