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

como dimensiono una imagen?

Estas en el tema de como dimensiono una imagen? en el foro de Flash y Actionscript en Foros del Web. Hola, bueno tengo un swf que carga imagenes y texto, tomando los datos de un xml.El tema que si las fotos son grandes por tener ...
  #1 (permalink)  
Antiguo 22/08/2007, 08:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
como dimensiono una imagen?

Hola, bueno tengo un swf que carga imagenes y texto, tomando los datos de un xml.El tema que si las fotos son grandes por tener alta calidad, se ven gigantes y no respeta el tamaño del MC, donde se cargan las imagenes.

El codigo que carga las imagenes es este:

_root.pantalla_mc.loadMovie(imagen);

(imagen) = al nombre de la imagen tomada desde el xml, si dice el xml avion.jpg, se va a cargar avion.jpg en pantalla_mc

La idea es agregar codigo al final del codigo que puse arriba en negrita, para limitar el tamaño y si se puede!!! la calidad!!!

Gracias...
  #2 (permalink)  
Antiguo 22/08/2007, 09:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Este es el codigo que toma el nombre de la imagen desde el xml:

imagen = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.firstChild.nod eValue


Y este era el que la carga en "pantalla_mc" (movi clip vacio, tipo cargador):

_root.pantalla_mc.loadMovie(imagen);


Este son los codigos que yo intente poner pero no funcionaron:
  • (imagen).setProperty(this.pantalla_mc.imagen, _height, 50);
  • imagen.setProperty(this.pantalla_mc.imagen, _width, 50);

Tambien probe con _xscale y _yscale.Pero nada!

Alguna ayudita??o sugerencia??
  #3 (permalink)  
Antiguo 22/08/2007, 09:36
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Re: como dimensiono una imagen?

Hoy mismo he respondido a una pregunta similar. Yo también creía que se podía aplicar propiedades a un mc en el que has cargado una imagen, pero me equivocaba. Hay que hacerlo así:

Código:
var mc:MovieClip = this.createEmptyMovieClip('mc',this.getNextHighestDepth());
var imagen:MovieClip = mc.createEmptyMovieClip('imagen',this.getNextHighestDepth());
imagen.loadMovie("imagen.jpg");
mc._y = 100;
mc._x = 100;
mc._xscale = 150;
mc._yscale = 150;
Saludos!
  #4 (permalink)  
Antiguo 22/08/2007, 09:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Ahhhhhhh recien empiezo con AS, pero entendi, ya q estoy estudiando de un libro.El tema que ahi pones la imagen a cargar.El fla no tiene datos de que imagen a cargar la toma de la variable que rescata los datos del .XML.Osea podria ser en vez de "imagen.jpg", (imagen).

Yo creo q si!!, se puede??
  #5 (permalink)  
Antiguo 22/08/2007, 09:47
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses
Puntos: 12
Re: como dimensiono una imagen?

Claro, por supuesto.
  #6 (permalink)  
Antiguo 22/08/2007, 09:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

me aparece este error: **Error** Escena=Escena 1, capa=Acciones, fotograma=1:Línea 47: No hay ningún método que lleve por nombre 'loadMovie'.
imagen.loadMovie(imagen);


El tema es asi: el escenario ya tiene un MC vacio creado manualmente, llamado "pantalla_mc".

Con el codigo: imagen = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.firstChild.nod eValue Averigua el nombre de la imagen mediante xml (ejemplo.jpg)

Con el codigo: _root.pantalla_mc.loadMovie(imagen); Carga ese nombre rescatado del xml en pantalla_mc.

Vos aca me sugeris un codigo que crea un MC.No se como usarlo muy bien...
  #7 (permalink)  
Antiguo 22/08/2007, 09:54
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Ya esta!!!, ya tenia yo una variable imagen, le cambie el nombre por imagenb y funciono, ahora tengo q ajustar el tamaño y la posicion!!!

Si me falta algo, te pregunto...pero creo que ya esta solucionado!!!

Gracias, de mucha ayuda fuiste...Saludos...
  #8 (permalink)  
Antiguo 22/08/2007, 10:07
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Si surgio algo.El codigo quedo asi:

var mc:MovieClip = this.createEmptyMovieClip('mc',this.getNextHighest Depth());
var imagenb:MovieClip = mc.createEmptyMovieClip('imagenb',this.getNextHigh estDepth());
imagenb.loadMovie(imagen);
mc._y = 0;
mc._x = 0;
mc._xscale = 230; // probe con: mc._height = 230;
mc._yscale = 50;
// probe con: mc._width = 50;

Quisiera cambiar _xscale y _yscale por height y widht.Probe y no funciono, no se ve la foto.El tema que escalando la imagen va a ser dificil manejar el tamaño.Y quiero que todas tengan un unico tamaño. 230 x 150.

?¿
  #9 (permalink)  
Antiguo 22/08/2007, 10:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

agreguen una precarga, y para trabajar mejor creen componentes cuando van a trabajar con imagenes.

Código:
this.createEmptyMovieClip("contenedor", this.getNextHighestDepth());
var foto_mc:MovieClip = contenedor.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("imagen.jpg");
this.onEnterFrame = function() {
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._height = 400;
		foto_mc._width = 400;
		delete this.onEnterFrame;
		trace("fin");
	}
};
  #10 (permalink)  
Antiguo 22/08/2007, 10:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Gracias por la intervencion, Mahalo me ayudo un monto.Y vos tambien ya que se acerca mas al tamaño.

Pero por ejemplo probe con una imagen mas grande, si la achico pero no al tamaño 150 height, 230 width.Por que puede ser???
  #11 (permalink)  
Antiguo 22/08/2007, 10:50
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

postea el codigo que tienes entre las etiquetas code del foro y si tienes la imagen en la web deja el link.
  #12 (permalink)  
Antiguo 22/08/2007, 11:00
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Código:
var imagen:String; //1er codigo

imagen = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.firstChild.nodeValue //2do codigo

this.createEmptyMovieClip("contenedor", this.getNextHighestDepth());
var foto_mc:MovieClip = contenedor.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie(imagen);
this.onEnterFrame = function() {
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 9;
		foto_mc._y = 35;
		foto_mc._height = 150;
		foto_mc._width = 230;
		delete this.onEnterFrame;
		trace("fin");
	}
}; //3er codigo


1er codigo: se declara la variable imagen

2do codigo: se rescata el nombre de la imagen a cargar en "pantalla_mc" desactive la linea que decia de cargar (imagen) en pantalla_mc para usar los codigos que crean solos los Movie Clip que ustedes me dieron.

3er codigo: es el codigo que me diste vos Rizzo.Lo demas no hacia falta que te lo pase, son otro parametros.En el escenario tengo un MC vacio llamado pantalla_mc, fue creado manualmente.

La idea es que mediante el 1er codigo, cargue una imagen y redimensionarla a 150 height y a 230 width.Sin importar el tamaño...
  #13 (permalink)  
Antiguo 22/08/2007, 11:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

lo probe con varias imagenes como esta:
Código:
this.createEmptyMovieClip("contenedor",this.getNextHighestDepth());
var foto_mc:MovieClip = contenedor.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("http://www.generacion-c.com/imagen/angelina5.jpg");
this.onEnterFrame = function() {
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 9;
		foto_mc._y = 35;
		foto_mc._height = 150;
		foto_mc._width = 230;
		delete this.onEnterFrame;
		trace("fin");
	}
};

y todas funcionan talvez no estas escribiendo bien tu XML.
  #14 (permalink)  
Antiguo 22/08/2007, 11:38
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

entra aca http://www.galoelectronica.com.ar/borrar/prueba.html

Fijate la 2da foto, se pasa del cuadrado gris de fondo, que es el tamaño que quiero que sean las fotos.La primera si, pero creo que la 2da se pasa.

El tamaño original de esta foto del puma es de 681 x 1024.
  #15 (permalink)  
Antiguo 22/08/2007, 12:21
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

prueba asi si tienes dudas pregunta ahora. pegalo tal cual en un fla nuevo no cambies nada.




Código:
this.createEmptyMovieClip("contenedor",this.getNextHighestDepth());
var foto_mc:MovieClip = contenedor.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("http://www.galoelectronica.com.ar/borrar/imagenesadopciones/28082006-2.jpg");
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
function precarga() {

	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 200;
		foto_mc._y = 200;
		foto_mc._height = 150;
		foto_mc._width = 230;
		//--------------------------------------------------------------------------------------
		//--------------------------------------------------------------------------------------
		if (foto_mc._height == 150) {

			clearInterval(id);
		}
		//--------------------------------------------------------------------------------------  
		//--------------------------------------------------------------------------------------

	}
}
id = setInterval(precarga, 10);
  #16 (permalink)  
Antiguo 22/08/2007, 12:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Me parece que hay algo que me olvide de mencionar ya que no pense que iba a alterar el trabajo de las dimensiones de las fotos.

Este .swf, carga varias fotos apretando los botones de arriba.

Por lo que vi, se acomoda la 1era foto al tamaño.Pero como la 2da foto es mucho mas grande por ejemplo.Se dimensiona de acuerdo a las medidas de la 1era foto y como no son las mismas medidas, creo que dimensiona mal las fotos.Por que seguramente si yo pongo 3 fotos de 800 x 600 como hice hasta ahora.Las dimensiona a todas por igual.

Ahora cuando cargo fotos de distintas dimensiones.La 1era la acomoda y creo toma estas medidas para todas las fotos, y si las siguientes fotos tienen diferentes medidas, ahi estaria el problema de la redimension.

Probe ese codigo y me dimensiono mi foto bien.Pero es una sola foto.Le puse (imagen) en vez de la URL de la imagen y tomo ahora bien la del puma y mal las otras 2.Creo que el problema esta en lo que dije yo.

Abra solucion???
  #17 (permalink)  
Antiguo 22/08/2007, 12:39
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

prueba asi ahora


//perro 1
Código:
//perro 1
var foto_mc:MovieClip =this.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("http://www.galoelectronica.com.ar/borrar/imagenesadopciones/14042005-1.jpg");
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
function precarga() {
trace(foto_mc.getBytesLoaded()+"  de  "+ foto_mc.getBytesTotal())
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 200;
		foto_mc._y = 200;
		foto_mc._height = 150;
		foto_mc._width = 230;
		//--------------------------------------------------------------------------------------
		//--------------------------------------------------------------------------------------
		if (foto_mc._height == 150) {

			clearInterval(id);
			
			trace("Fin")
		}
		//--------------------------------------------------------------------------------------  
		//--------------------------------------------------------------------------------------

	}
}
id = setInterval(precarga, 10);


//leopardo

Código:
//leopardo
var foto_mc:MovieClip =this.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("http://www.galoelectronica.com.ar/borrar/imagenesadopciones/28082006-2.jpg");
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
function precarga() {
trace(foto_mc.getBytesLoaded()+"  de  "+ foto_mc.getBytesTotal())
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 200;
		foto_mc._y = 200;
		foto_mc._height = 150;
		foto_mc._width = 230;
		//--------------------------------------------------------------------------------------
		//--------------------------------------------------------------------------------------
		if (foto_mc._height == 150) {

			clearInterval(id);
			
			trace("Fin")
		}
		//--------------------------------------------------------------------------------------  
		//--------------------------------------------------------------------------------------

	}
}
id = setInterval(precarga, 10);







//perro 3

Código:
//perro 3
var foto_mc:MovieClip =this.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
foto_mc.loadMovie("http://www.galoelectronica.com.ar/borrar/imagenesadopciones/22082007-3.jpg");
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
function precarga() {
trace(foto_mc.getBytesLoaded()+"  de  "+ foto_mc.getBytesTotal())
	if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
		foto_mc._x = 200;
		foto_mc._y = 200;
		foto_mc._height = 150;
		foto_mc._width = 230;
		//--------------------------------------------------------------------------------------
		//--------------------------------------------------------------------------------------
		if (foto_mc._height == 150) {

			clearInterval(id);
			
			trace("Fin")
		}
		//--------------------------------------------------------------------------------------  
		//--------------------------------------------------------------------------------------

	}
}
id = setInterval(precarga, 10);
  #18 (permalink)  
Antiguo 22/08/2007, 12:43
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

la solucion mas logica es por ejemplo hacer algo como esto http://www.informaticaunam.com.mx/diego/azul/

le falta aun programacion, lo que hace esta galeria es con scripts en php hace pekeñas las fotos ("thumbnails") despues flash mediante un xml generado con php lee las fotos pekeñas. es mejor que busque hacer algo parecido, ya que como lo haces tu siempre va a tardar en cargar
  #19 (permalink)  
Antiguo 22/08/2007, 13:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Amigo me sorprende la cantidad de codigos que sabes armar.Se nota que estas re canchero con esto.
Este ultimo codigo.Yo no lo podria usar.Acordate que yo pongo en vez de la URL de la foto, pongo la palabra (imagen), ya que el nombre de la imagen se rescata del xml.No tendria que estar poniendo codigos cada vez que se agregue una foto.Seria mas facil dimensionar con Photoshop todas a 800 x 600 y asi tendrian el mismo tamaño.

Aca el problema era que las imagenes se cargaban, los nombres son rescatados del XML mediante variables y nodos.Bueno el tema era cargar imagenes pero que se dimensionaran solas.Pero en el Action Scripts, no poner URL de donde estarian las fotos, ya que eso se haria mediante el XML, y con un UpLoad solo haria que se suban las fotos a una carpeta de fotos para este proyecto.

Si lo tendria que hacer una persona que no sabe de diseño, lo podria hacer, y este sistema permite mover fotos mientras se pongan los datos en el XML.

En cambio con este codigo, se necesitaria abrir si o si el .fla.

Te agradezco igual por todo lo que has hecho.Creo que me han ayudado bastante.Si crees poder desarrollar eso que necesito seria genial.Igualmente sos otro genio en comparacion a mi, que soy nuevo en Flash...

La idea es poner (imagen) variable que toma el nombre de la imagen desde el XML y que todas se modifiquen a 230 x 150 de alto...
  #20 (permalink)  
Antiguo 22/08/2007, 13:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Recien lego el post del sistema que me sugeris.Si es verdad, seria algo mejor asi.

Pero esos sistemas no son tan faciles de encontrar.Otra cosa, el que tengo yo, ocupa poco lugar.Y se podria poner a un costado.Se pueden crear tumbnails mediante AS o seria ya muy dificil????
  #21 (permalink)  
Antiguo 22/08/2007, 13:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

Compañero encontre algo este codigo decia que si lo ejecutas dentro de una carpeta te crea los tumbnails automaticamente...Osea que si se suben las fotos al FTP mediante algun UpLoad, se carga el XML con los nuevos datos y si de algun modo se ejecuta este PHP que lo llame redimensionar.php, se solucionaria el problema...

Ahora, en cada foto lo unico que me agregó es: mini_ y el nombre de la foto original, osea mini_14042005-1.jpg.

En el libro que yo estoy leyendo en una parte decia que se podia armar codigo dinámico.Esto seria algo dificil para mi.
Pero se podria hacer en la linea:

_root.pantalla_mc.loadMovie(imagen); esto?

_root.pantalla_mc.loadMovie(mini_+imagen);

Como se dimensionan todas a un mismo tamaño.Ahora cargaria cada foto su tumbnails.Se puede? O estoy perdido, como turco en la neblina???
  #22 (permalink)  
Antiguo 22/08/2007, 13:48
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

te dejo este ultimo es una function mira
Código:
cargaFoto("ruta dela foto", nombre clip)
en el primer parametro pones la ruta de tu foto y en el segundo pones cualquiero cosa recuerda que el primer parametro es un string y el segundo un clip.

lo de los sistemas de thumbnails su fin es hacer la foto mas chica y menos pesada flash hace la foto mas chica pero no la hace m enos pesada. ve al foro de php lee pregunta y haz primero cosas simples. yo me tengo que ir te dejo la funcion adaptala a tu xml.
Código:
cargaFoto(imagen,miclip);
Código:
//--------------------------------------------------------------------------------------
//Funcion(ruta dela foto, nombre clip)
//
//--------------------------------------------------------------------------------------
cargaFoto("http://www.galoelectronica.com.ar/borrar/imagenesadopciones/28082006-2.jpg",miclip);
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------
function cargaFoto(rutaFoto:String,foto_mc:MovieClip) {

	foto_mc= this.createEmptyMovieClip("contenedorfoto", this.getNextHighestDepth());
	foto_mc.loadMovie(rutaFoto);
	//--------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------
	function precarga() {
		trace(foto_mc.getBytesLoaded()+"  de  "+foto_mc.getBytesTotal());
		if (foto_mc.getBytesLoaded() != 0 && foto_mc.getBytesLoaded() == foto_mc.getBytesTotal()) {
			foto_mc._x = 200;
			foto_mc._y = 200;
			foto_mc._height = 150;
			foto_mc._width = 230;
			//--------------------------------------------------------------------------------------
			//--------------------------------------------------------------------------------------
			if (foto_mc._height == 150) {

				clearInterval(id);

				trace("Fin");
			}
			//--------------------------------------------------------------------------------------    
			//--------------------------------------------------------------------------------------

		}
	}
	id = setInterval(precarga, 10);
  #23 (permalink)  
Antiguo 22/08/2007, 13:51
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Re: como dimensiono una imagen?

Cita:
En el libro que yo estoy leyendo en una parte decia que se podia armar codigo dinámico.Esto seria algo dificil para mi.
solo lee la referencia de flash (f1) ve a la parte de recursos y lee ahi un post que puse sobre algunas cosas faciles de hacer en general lee prueba ,comprende y practica siempre, ahora si ya me voy a la escuela nos vemos.
  #24 (permalink)  
Antiguo 22/08/2007, 13:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
Re: como dimensiono una imagen?

un abrazo, por las molestias!!!
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




La zona horaria es GMT -6. Ahora son las 16:22.