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.