Comunidad de diseño web y desarrollo en internet online

Duplicar imagen con BitmapData desde la Web

Citar            
MensajeEscrito el 11 Jul 2007 12:41 pm
hola estuve mirando el efecto lago y me interesaria poder hacer algo... pero las imagenes estan vinculadas desde la biblioteca... hay alguna forma de vincular imagenes cargadas desde la web...

aca les dejo la pagina del efecto lago del que les hable antes...

http://www.cristalab.com/tips/34689/efectos-lago-rio-y-cascada-con-bitmapdata-de-flash-8

y aca les paso la prueba que hice pero no hace el efecto....

Código :

import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.*;
this.createEmptyMovieClip ("imagen1",1)
 imagen1.loadMovie ("http://www.amighini.net/imagenes/we_17.1389.jpg",imagen,"GET")
img = BitmapData.loadBitmap("imagen");
attachBitmap(img, 1);
createEmptyMovieClip("sal", 0);
sal.attachBitmap(img, 0);
sal._y = 2*img.height;
sal._yscale = 100;
ola = new BitmapData(img.width, img.height);
pt = new Point();
dM = new DisplacementMapFilter(ola, new Point(), 1, 1, 0, 40, "ignore");
sal.cacheAsBitmap = true;
setInterval(this, "efectoLago", 100);
efectoLago = function () {
   pt.y -= .3;
   pt.x -= 1.7;
   ola.perlinNoise(20, 4, 1, 0, true, true, 1, true, [pt]);
   sal.filters = [dM];
};

Por sergiogmuro

19 de clabLevel



 

msie7
Citar            
MensajeEscrito el 12 Jul 2007 07:25 am
Para utilizar una imagen cargada tienes que ESPERAR a que esté completamente cargada para efectuar la acciones.
Cón este código (usando MovieClipLoader() ); podrás efectuar los efectos sobre una imagen cargada.
La imagen cargada se coloca en el MC vacio imagen y es "dibujada" en un bitmap nuevo img mediante img.draw(imagen).

Código :

import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.*;
this.createEmptyMovieClip ("imagen",1);
miListener =new Object();;
cargador = new MovieClipLoader();
cargador.addListener(miListener);
cargador.loadClip("http://www.amighini.net/imagenes/we_17.1389.jpg", imagen);
miListener.onLoadInit = function(imagen){ 
   img = new BitmapData(imagen._width, imagen._height);
   img.draw(imagen);
   createEmptyMovieClip("sal", 0);
   sal.attachBitmap(img, 0);
   sal._y = 2*img.height;
   sal._yscale = -100;
   ola = new BitmapData(img.width, img.height);
   pt = new Point();
   dM = new DisplacementMapFilter(ola, new Point(), 1, 1, 0, 40, "clamp");
   sal.cacheAsBitmap = true;
   onEnterFrame = function (){
      pt.y -= .3;
      pt.x -= 1.7;
      ola.perlinNoise(20, 4, 1, 0, true, true, 1, true, [pt]);
      sal.filters = [dM];
 }
}

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 23 Jul 2007 01:02 pm
muchas gracias... pero me surgio un problema, cuando yo duplico la imagen no la puedo escalar a los pixels deseado... tiene que ser por porcentaje... pero tendria que ser por pixels... vamos a suboner este codigo es el que hago para probar la escala para que se encaje en un tamaño predeterimado...
quiero que si la imagen tiene tantos pixels de ancho.. y el newBitmapData tiene tanto de ancho.... la imagen se escale a esos pixels... trate de hacerlo en regla de 3 simple pero no me sale... tambien dividi por 100 el resultado de la regla de 3 simple pero no da.. alguien sabe como hacerlo por favor... gracias..

les paso el codigo para que vean como es o para que lo entiendan mejor....

Código :

import flash.net.FileReferenceList;
import flash.net.FileReference;
import mx.controls.Loader;
import flash.geom.Matrix;
import flash.display.BitmapData;
//------- prueba para probar el before and after... eliminar este codigo para subir ----- \\
_root.createEmptyMovieClip("loader", 1);
_root.loader._x = 31;
_root.loader._y = 27;
_root.loader.loadMovie("http://www.bioatividade.hpg.ig.com.br/fotos_ilustracoes/Zoologia_ilustracoes/Vertebrados/gatos%20dormindo.jpg");
trace(_root.loader._xscale);
//_root.loader._xscale = _root.loader._yscale
// ------- borrar hasta aca -------- \\    
stop();
_root.btn_before.onPress = function() {
   _root.fBefore._alpha = 100;
   _root.puerta_chica._alpha = 0;
   // ---------DUPLICA LA IMAGEN "LOADER" Y LA UBICA EN BEFORE------------- \\
   createEmptyMovieClip("antes_mc", 2);
   var snapshotAntes:BitmapData = new BitmapData(333, 248, false);
   var EscalaMatrix:Matrix = new Matrix();
   escalaX = (333*_root.loader._width/100);
   //escalaX = 0.52;
   EscalaMatrix.scale(escalaX, escalaX);
   snapshotAntes.draw(_root.loader, EscalaMatrix);
   antes_mc.attachBitmap(snapshotAntes, 2, "auto", true);
   antes_mc._y = 123;
   antes_mc._x = 41;
   // ------------------------------------------- \\
};

Por sergiogmuro

19 de clabLevel



 

msie7

 

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