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

redimensionar jpg con AS3

Estas en el tema de redimensionar jpg con AS3 en el foro de Flash y Actionscript en Foros del Web. Hola, tengo este código con el cual cargo una imagen (jpg) y la posiciono en mi formulario donde quiero, la única pega es se muestra ...
  #1 (permalink)  
Antiguo 11/03/2009, 12:53
overon37
Invitado
 
Mensajes: n/a
Puntos:
redimensionar jpg con AS3

Hola, tengo este código con el cual cargo una imagen (jpg) y la posiciono en mi formulario donde quiero, la única pega es se muestra con su tamaño y lo que quiero es darle unas dimensiones. No redimensionar el archivo imagen en si, sino que se muestre en mi formulario con un ancho y alto que yo quiera.

Este es el código

Código:
import flash.display.Loader; 
// creamos un cargador (carga jpg o swf)
var cargador:Loader = new Loader();
// indicamos la ruta de nuestra imagen
cargador.load(new URLRequest("prueba.jpg")); 
// añadimos nuestro cargador con la imagen
addChild(cargador);
// posicion de la imagen
cargador.x=100;
cargador.y=10;
  #2 (permalink)  
Antiguo 11/03/2009, 12:58
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años
Puntos: 67
Respuesta: redimensionar jpg con AS3

tienes que escuchar cuando ya se cargo tu foto y cuando esto pase, tienes que asignar las medidas con


Código:
cargador.width
cargador.height
y para escuchar usa:


Código:
addEventListener(Event.COMPLETE, completeHandler);
en la referencia de flash hay un ejemplo (f1).
  #3 (permalink)  
Antiguo 11/03/2009, 13:04
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redimensionar jpg con AS3

Cita:
Iniciado por Diegoazul Ver Mensaje
tienes que escuchar cuando ya se cargo tu foto y cuando esto pase, tienes que asignar las medidas con


Código:
cargador.width
cargador.height
y para escuchar usa:


Código:
addEventListener(Event.COMPLETE, completeHandler);
en la referencia de flash hay un ejemplo (f1).
width y height no dan error pero no funcionan con actionscript 3.0 lo he probado y al ponerlos no muestra nada de nada.

los eventos los he omitido para no liar el código que he posteado, pero tengo los 3, cuando se abre, mientras se carga y cuando ha finalizado la carga
  #4 (permalink)  
Antiguo 11/03/2009, 13:12
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años
Puntos: 67
Respuesta: redimensionar jpg con AS3

Cita:
Iniciado por overon37 Ver Mensaje
width y height no dan error pero no funcionan con actionscript 3.0 lo he probado y al ponerlos no muestra nada de nada.

los eventos los he omitido para no liar el código que he posteado, pero tengo los 3, cuando se abre, mientras se carga y cuando ha finalizado la carga
No funcionan porque necesitas escuchar el evento COMPLET, y asi es esto de la programacion se tiene que codificar, ve el ejemplo de la referencia y codifica.
  #5 (permalink)  
Antiguo 11/03/2009, 13:28
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: redimensionar jpg con AS3

Cita:
Iniciado por overon37 Ver Mensaje
width y height no dan error pero no funcionan con actionscript 3.0 lo he probado y al ponerlos no muestra nada de nada.

los eventos los he omitido para no liar el código que he posteado, pero tengo los 3, cuando se abre, mientras se carga y cuando ha finalizado la carga
Hola overon37 !

Las instancias de la clase Loader tiene una propiedad pública llamada content que hace referencia al contenido del displayObject principal que fue cargado (Swf, jpg, ect.).

http://livedocs.adobe.com/flash/9.0/...r.html#content

Código actionscript:
Ver original
  1. cargador.content.width = 230;
  2. cargador.content.height = 230;

Prueba haciendo esos cambios y nos cuentas.

Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #6 (permalink)  
Antiguo 11/03/2009, 13:45
overon37
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redimensionar jpg con AS3

perfecto, aplicando la redimensión a la imagen cuando ha terminado de cargar lo hace sin pegas,

gracias
  #7 (permalink)  
Antiguo 21/10/2009, 10:41
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: redimensionar jpg con AS3

sabeis como se haria para importar el loader en action script 2 o como seria el codigo?
  #8 (permalink)  
Antiguo 18/12/2009, 14:50
 
Fecha de Ingreso: diciembre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: redimensionar jpg con AS3

Hola , creo que ustedes me podrán ayudar, les comento, tengo este código:

btn_mc.addEventListener(MouseEvent.CLICK,Click);
//Recibe de parametro el evento
function Click(e:MouseEvent){ //aqui pegas todo tu codigo sin problema
var contenedor:MovieClip = new MovieClip();
var loader:Loader = new Loader();
loader.load(new URLRequest("galeria.swf"));

loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, insertMovie);

function insertMovie(evt:Event):void{

addChild(contenedor).name = "contenedor";
contenedor.addChild(loader).name = "loader";

}

Quiero que galeria.swf cuando sea llamada tenga el mismo tamaño que el contenedor.
Creé un swf basico de 20 x 14 px (tamaño del contenedor) y lo mete perfecto. El problema esque a la galeria no puedo cambiarle las dimensiones de documento porque luego todo queda trastocado al publicar y no entiendo de programacion para solucionarlo y creo que lo mas sencillo es que en el codigo que os he puesto escalar el SWF al tamaño del contenedor. (Si se puede).
¿No se que creeis?

He mirado el post pero no me aclaro.
Ayuda porfavor!!

Muchas gracias.
  #9 (permalink)  
Antiguo 19/12/2009, 04:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: redimensionar jpg con AS3

Lo he solucionado añadiando este código:

contenedor.x = -1.7;
contenedor.scaleX = 0.025;
contenedor.y = -4;
contenedor.scaleY = 0.025;

Lugo voy jugando con los valores hasta hacerlo cuadrar. Mi problema ahora esque me he dado cuente que no funciona, aparece la galeria y su scroll funciona!! pero cada miniatura siempre habre la misma imagen. cuando habro la galeria independiente funciona perfectamente.
La galeria está en action script 2 y la web en action script 3 supongo que el swf será incompatible. Entonces que hago?? Busco otra galeria que este hecha en actionscrip3 o adapto el codigo (Para ello necesitaré la ayuda de alguien, yo no tengo ni idea).

Les pego el cógido de la galeria por si alguien se compadece de mi y me lo actualiza a actionscript 3:

Esto esta en el primer fotograma:

//centro l'immagine
_root.onEnterFrame = function() {
if (_root.box.getBytesLoaded()>10 && _root.box.getBytesLoaded()>=_root.box.getBytesTota l()) {
_root.box._x = Stage.width/2-(_root.box._width/2);
_root.box._y = Stage.height/2-(_root.box._height/2);
}
};
Stage.showMenu = false;
quality = "BEST";

Esto dentro del moviclip:"barra".


// imposta a false se non vuoi la descrizione
descriptions = true;
// box descrizione invisibile
alert._visible = false;
// effetto ease
var ease = 5;
//imposto la scala della foto grande
_root.scala_x = 90;
_root.scala_y = 110;
//imposto la barra visibile
_root.barra_stato = "true";
_root.box.useHandCursor = false;
//leggo i dati XML
thumbs = new XML();
thumbs.ignoreWhite = true;
thumbs.load("dati.xml");
// qui inserire il percorso al file .XML
thumbs.onLoad = function() {
root = this.firstChild;
total = root.childNodes.length;
displayNum = Number(root.childNodes[0].attributes.displayNum);
separation = Number(root.childNodes[0].attributes.separation);
//settings
w = 60;
h = 55;
mask._width = displayNum*(w+separation);
mask._height = h+30;
forward._x = mask._width+20;
forward._y = back._y=h/2;
mcs = [];
for (i=0; i<total; i++) {
mcs.push(i);
newThumb = thumbnailer.container.duplicateMovieClip("containe r"+i, i);
with (newThumb) {
_x = (w+separation)*i;
preloader._x = w/2;
preloader._y = h/2;
shape._width = w;
shape._height = h;
}
var image = root.childNodes[i].childNodes[0].firstChild.nodeValue;
var image1 = root.childNodes[0].childNodes[0].firstChild.nodeValue;
newThumb.image = root.childNodes[i].childNodes[0].firstChild.nodeValue;
newThumb.desc = root.childNodes[i].childNodes[1].firstChild.nodeValue;
newThumb.link = root.childNodes[i].childNodes[2].firstChild.nodeValue;
loadMovie(image1, _root.box.foto_effetto);
_root.box._xscale = _root.scala_x;
// scalo la larghezza
_root.box._yscale = _root.scala_y;
// scalo l'altezza
newThumb.onRelease();
newThumb.cont.loadMovie(image);
//carico le thumbs
newThumb.cont2.loadMovie(image);
//carico le thumbs e le scalo
newThumb.cont._xscale = 8.2;
// scalo la larghezza
newThumb.cont._yscale = 12.2;
// scalo l'altezza delle ombre associate alle immagini
newThumb.cont2._xscale = newThumb.cont._xscale;
newThumb.cont2._yscale = newThumb.cont._yscale;
newThumb.onRelease = function() {
loadMovie(this.image, _root.box.foto_effetto);
// carico l'immagine nel clip effetto
_root.box.play();
// avvio il box
_root.box._xscale = _root.scala_x;
// scalo la larghezza
_root.box._yscale = _root.scala_y;
// scalo l'altezza
};
newThumb.onReleaseOutside = function() {
this._xscale = 100;
this._yscale = 100;
this._y = this._y+10;
this._x = this._x+5;
};
if (descriptions) {
newThumb.onRollOver = function() {
alert.desc = this.desc;
alert._visible = true;
this._xscale = 120;
this._yscale = 120;
this._y = this._y-10;
this._x = this._x-5;
this.swapDepths(9);
};
newThumb.onRollOut = function() {
alert._visible = false;
this._xscale = 100;
this._yscale = 100;
this._y = this._y+10;
this._x = this._x+5;
};
}
}
//
var offset = total-1;
var dest = 0;
var increment = w+separation;
var ending = (total-displayNum)*(w+separation);
var lastmc = total-1;
var firstmc = 0;
back.onRelease = function() {
if (dest<0) {
dest += increment;
} else {
first = mcs[0];
for (k=0; k<total; k++) {
mcs[k] = mcs[k+1];
}
mcs[total-1] = first;
thumbnailer["container"+lastmc]._x = -(w+separation);
firstmc = lastmc;
//check whos new lastmc
for (k=0; k<total; k++) {
if (mcs[k] == (total-1)) {
lastmc = k;
}
}
}
};
forward.onRelease = function() {
if (dest>-ending) {
dest -= increment;
} else {
last = mcs[total-1];
for (k=1; k<total; k++) {
mcs[total-k] = mcs[total-k-1];
}
mcs[0] = last;
thumbnailer["container"+firstmc]._x = (displayNum)*(w+separation);
lastmc = firstmc;
//check whos new firstmc
for (k=0; k<total; k++) {
if (mcs[k] == 0) {
firstmc = k;
}
}
}
};
//movement
onEnterFrame = function () {
for (j=0; j<total; j++) {
thumbnailer["container"+j]._x += (dest+(mcs[j])*(w+separation)-thumbnailer["container"+j]._x)/ease;
}
alert._x = _xmouse;
alert._y = _ymouse;
};
};


Muchas gracias!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:07.