Tamaño imagen

Quiero recordar que alguien publico un sencillo js que permitía al importar o sobre imágenes ya guardadas ajustar el tamaño de forma sencilla, pero no lo encuentro en el foro ni por ninguna otra pagina asociada.

Alguien lo tiene localizado. Gracias.

A ver si te sirve esto…

//Importamos la clase para su uso
importClass("VImage");
//Guardamos la senda del fichero a añadir
var senda = theMainWindow.fileDialogGetOpenFileName( theApp.constant( "axosGestion.dat/TXT_SEL_IMG_IMP"), "", "*.jpg;*.png");
//Creamos la imagen
var img = new VImage();
if ( img.load(senda) )
    {
        //Comprobamos que el tamaño de la foto es superior al parametrizado
		var parametrizacion = new VRegisterList(theRoot);
		parametrizacion.setTable("axosGestion.dat/PAR_EMP");
		parametrizacion.load( "EMP", [theApp.globalVarToString("axosBase.dat/EMP_ID")]);
		var registroParametrizacion = parametrizacion.readAt(0)
		//Capturamos el campo imagen
		var edFoto = theRoot.dataView().control("EDC_IMG");
		//Si es mayor que lo parametrizado, lo escalamos
		var anchoMaximo = registroParametrizacion.fieldToInt("IMG_WEB_ANC")
		if ( (img.width() > anchoMaximo) && ( anchoMaximo > 0 )){
			// Cogemos el control FOTO y le pasamos la imagen modificada
			edFoto.setImage(img.scaledToWidth(anchoMaximo, 0));
		}
		else{
			// Cogemos el control FOTO y le pasamos la imagen sin modificar
			edFoto.setImage(img);
		}
    }
else
    alert(theApp.constant("axosGestion.dat/TXT_IMG_NO_IMP"));

Saludos

Hola Mario,gracias por el código.
Mira estoy intentando montar un álbum familiar en la nube y me encontré con el problema del peso de las fotos.
Por lo que veo debes tener experiencia en le tratamiento de imágenes, por favor a que medidas debo reducir las fotos para bajar su peso.

Otra pregunta
parametrizacion.load( “EMP”, [theApp.globalVarToString(“axosBase.dat/EMP_ID”)]);
Esta linea de código que función tiene?

Gracias

Hola,

Por casualidad en el tiempo yo también estoy interesado en este mismo tema, lo expreso para que tengáis conocimiento de que hay más personas con este mismo “problema”

Saludos

Buenos días.

La línea parametrizacion.load( “EMP”, [theApp.globalVarToString(“axosBase.dat/EMP_ID”)]); se utiliza para cargar un registro donde se almacena el tamaño del ancho parametrizado al que se va a guardar la imagen. Lo resumo para que quede más claro:

//Importamos la clase para su uso
importClass("VImage");
//Guardamos la senda del fichero a añadir
var senda = theMainWindow.fileDialogGetOpenFileName( theApp.constant( "axosGestion.dat/TXT_SEL_IMG_IMP"), "", "*.jpg;*.png");
//Creamos la imagen
var img = new VImage();
if ( img.load(senda) )
    {
		//Capturamos el campo imagen
		var edFoto = theRoot.dataView().control("EDC_IMG");
		//Si es mayor que lo parametrizado, lo escalamos
		var anchoMaximo = 600;// 600 pixeles de ancho
		if ( (img.width() > anchoMaximo) && ( anchoMaximo > 0 )){
			// Cogemos el control FOTO y le pasamos la imagen modificada
			edFoto.setImage(img.scaledToWidth(anchoMaximo, 0));
		}
		else{
			// Cogemos el control FOTO y le pasamos la imagen sin modificar
			edFoto.setImage(img);
		}
    }
else
    alert(theApp.constant("axosGestion.dat/TXT_IMG_NO_IMP"));

Por otro lado, está en soporte por que en la 7.15 no funciona de forma correcta, mientras que en versión 7.14.x si.

Saludos

Gracias Mario, deduzco que un ancho correcto es 600
Pero a esperar a la revisión de la 7.15 ¿no?

Deduzco que en la 7.15.0 no funciona, o que quieres decir exactamente con que no funciona de forma correcta. Podrías aclararlo un poco mas. Gracias.