Comunidad de diseño web y desarrollo en internet online

juntar 2 imagenes en Una

Citar            
MensajeEscrito el 06 Jul 2009 05:50 pm
Tengo un problema necesito editar imagenes :shock: :?
lo que tengo ke hacer es:
de dos imagenes que tomo del servidor apache y las convierto en bitmapdata o bit map cualquiera de las 2
pero necesito tomas 2 imagenes y juntarlos en uno solo
cualquier metodo es bienvenido
gracias

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2009 06:53 pm
Utiliza el método BitmapData.draw().

Por rabi

106 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 06 Jul 2009 07:35 pm

rabi escribió:

Utiliza el método BitmapData.draw().

antes que todo gracias por la ayuda
estoy utilizando el metodo

var bmd:BitmapData = new BitmapData(loader.width, loader.height,true, 0x00000000);
bmd.draw(loader.content, new Matrix());//aki es donde ingreso la imagen
pero necesito agregarle al bmd otra imagen pero ke no este sobre escrita sino a un lado de ella para crear una imagen mas larga.
espero que me puedas ayudar con esto gracias :)
:D

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2009 06:24 am
Cuando Rabi sugirió la Clase BitmapData es para poder usar sus métodos. Supongo que lo que buscas es el método CopyPixels. Vamos
1.-creas un BitmapData de las dimensiones adecuadas
2.-Lees las dos imágenes
3.-Mediante CopyPixels copias los BitMapData de las imágenes al que creastes al principio

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2009 08:09 pm

Eliseo2 escribió:

Cuando Rabi sugirió la Clase BitmapData es para poder usar sus métodos. Supongo que lo que buscas es el método CopyPixels. Vamos
1.-creas un BitmapData de las dimensiones adecuadas
2.-Lees las dos imágenes
3.-Mediante CopyPixels copias los BitMapData de las imágenes al que creastes al principio


esto es lo ke llevo pero intente hacer lo ke me dijiste pero solo me muestra una imagen me krea el bitmap donde se crea el espacio indicado pero al agregar una segunda fotografia no lo mostraba solo ponia el color negro.

Código ActionScript :

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, startListener);
var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg");
loader.load(url);
function startListener (e:Event):void{
   var encoder:JPEGEncoder = new JPEGEncoder(100);   
   var bmd:BitmapData = new BitmapData(400,267,true, 0x00000000);
   bmd.draw(loader.content, new Matrix());//aki es donde dibujo la imagen sobre el BitmapData
   var bytes:ByteArray = encoder.encode(bmd);//aki lo agrego al bytearray y lo codifico para poder imprimirlo En un PDF
}

P.D. Gracias por la ayuda :D

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 01:39 am
Debes meter los bitmaps a un contenedor antes de bitmapdata.draw. Ahí te va un ejemplo:

Código ActionScript :

package {
   import flash.display.Sprite;
   import flash.net.URLRequest;
   import flash.events.Event;
   import flash.display.Bitmap;
   import flash.display.BitmapData;
   import flash.display.Loader;
   import flash.geom.Matrix;

   public class Prueba2bitmaps extends Sprite
   {
      private var loader1:Loader=new Loader();
      private var loader2:Loader=new Loader();
      private var container:Sprite=new Sprite();
      
      public function Prueba2bitmaps()
      {         
         loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, cargaBmp1); 
         var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg"); 
         loader1.load(url);         
      }
      
      private function cargaBmp1(e:Event):void
      {
         trace("cqrgado")
         var bmp1:Bitmap=loader1.content as Bitmap;
         container.addChild(bmp1);
         loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, cargaBmp2); 
         var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/images/image2.jpg"); 
         loader2.load(url);         
      }
      
      
      private function cargaBmp2(e:Event):void
      {
         trace ("cargado 2")
         var bmp2:Bitmap=loader2.content as Bitmap;
         bmp2.x=400;
         container.addChild(bmp2);
         var bmd:BitmapData = new BitmapData(800,267,true, 0x00000000);
         bmd.draw(container)
         var bmpFinal:Bitmap=new Bitmap(bmd);
         bmpFinal.scaleX=bmpFinal.scaleY=0.3;
         addChild(bmpFinal);
      }      
   }
}

Ten cuidado además con los rollos de seguridad de adobe:

adobe escribió:

Note: The source object and (in the case of a Sprite or MovieClip object) all of its child objects must come from the same domain as the caller, or must be in a SWF file that is accessible to the caller by having called the Security.allowDomain() method. If these conditions are not met, the draw() method does not draw anything.

¡No dibuja nada y no te avisa!

Por rabi

106 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 08 Jul 2009 03:32 pm
Antes ke todo gracias me sirvio el codigo ya lo pude integrar
Muchas gracias.
:D :lol:

rabi escribió:

Debes meter los bitmaps a un contenedor antes de bitmapdata.draw. Ahí te va un ejemplo:

Código ActionScript :

package {
   import flash.display.Sprite;
   import flash.net.URLRequest;
   import flash.events.Event;
   import flash.display.Bitmap;
   import flash.display.BitmapData;
   import flash.display.Loader;
   import flash.geom.Matrix;

   public class Prueba2bitmaps extends Sprite
   {
      private var loader1:Loader=new Loader();
      private var loader2:Loader=new Loader();
      private var container:Sprite=new Sprite();
      
      public function Prueba2bitmaps()
      {         
         loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, cargaBmp1); 
         var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg"); 
         loader1.load(url);         
      }
      
      private function cargaBmp1(e:Event):void
      {
         trace("cqrgado")
         var bmp1:Bitmap=loader1.content as Bitmap;
         container.addChild(bmp1);
         loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, cargaBmp2); 
         var url:URLRequest = new URLRequest("http://www.helpexamples.com/flash/images/image2.jpg"); 
         loader2.load(url);         
      }
      
      
      private function cargaBmp2(e:Event):void
      {
         trace ("cargado 2")
         var bmp2:Bitmap=loader2.content as Bitmap;
         bmp2.x=400;
         container.addChild(bmp2);
         var bmd:BitmapData = new BitmapData(800,267,true, 0x00000000);
         bmd.draw(container)
         var bmpFinal:Bitmap=new Bitmap(bmd);
         bmpFinal.scaleX=bmpFinal.scaleY=0.3;
         addChild(bmpFinal);
      }      
   }
}

Ten cuidado además con los rollos de seguridad de adobe:

adobe escribió:

Note: The source object and (in the case of a Sprite or MovieClip object) all of its child objects must come from the same domain as the caller, or must be in a SWF file that is accessible to the caller by having called the Security.allowDomain() method. If these conditions are not met, the draw() method does not draw anything.

¡No dibuja nada y no te avisa!

Por yeethug

43 de clabLevel



 

firefox

 

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