Ayuda java importa img


([N4] ns) #1

Buenas,

no tengo ni idea de Java y he copiado este proceso (ver adjunto) del blog de Juan Cobos.

El proceso coge una imagen que tengamos en el pc y la muestra en un control imagen (dibujo) de velneo, pero si aceptas el formulario y vuelves a entrar la imagen NO se guardo.

Estoy intentando modificarlo para que grabe la imagen en el campo, pero estoy perdido…
si alguien me puede dar alguna indicación se agradece.

saludos,
Santiago.



([N1] comercial) #2

Hola, ¿ has visto esto ? http://ayudavelneo.com/como-escalar-una-imagen-en-velneo-v7/

Edito: aquí no llega a grabar la imagen, no lo había leído todavía.

Saludos.
Miguel.


([N4] bitcodesoft) #3

Y digo yo, si no vas a tratar la imagen por qué no seleccionas la imagen y luego haces un simple “importar dibujo”.

Evento:
desplegamos formulario selección de archivo
si aceptan:
obtenemos ruta
“importar dibujo”


([N1] Velasco) #4

Buenas

Yo acabo de probar ese código en un evento dentro de un formulario y me funciona perfectamente

Un saludo


([N2] AyudaVelneo) #5

Hola a todos:

Como indica Jorge, el código que hay en el blog funciona. Rodolfo Villanueva es el autor del post… y Juan Muñoz terminó de rematarlo (en los comentarios del post) con la solución de un pequeño bug que tenía el código de Rodolfo.

Os paso el enlace http://ayudavelneo.com/como-escalar-una-imagen-en-velneo-v7/

Un saludo


([N4] velavisual) #6

@info.naturalsoft

Te adjunto el script que yo uso para seleccionar imagen, escalarla según variables locales al formulario y adjuntarlo a un campo objeto dibujo de la tabla.

El error que mencionas, es posible que estés haciendo alguna prueba con tabla arbolada y no le hayas puesto ningún índice al dar de alta el registro.

Un saludo



([N4] ns) #7

Muchas gracias a todos,

efectivamente lo que quiero es reescalar la imagen antes de importarla, pero empece primero solo por importarla y como no conseguia que se grabara en el campo…

voy a probar el código de Antonio Vela y os cuento.

Saludos,
Santiago.


([N4] ns) #8

Estoy haciendo pruebas (pasandole solo el alto) y de momento no me funciona…

Una pregunta, si se supone que te escala manteniendo el ratio a partir de un alto dado. no hay que pasarle el ancho , ¿no?

Yo lo único que pretendo es controlar que no se importen archivos pesados , como es lógico, entonces probaré con altos de 400 o 600 pixel y a ver que tal. Y cuando encuentre una “altura ideal” la dejaré fija en toda mi aplicación.

Veis correcto este planteamiento?

Gracias y saludos.,


([N4] velavisual) #9

@info.naturalsoft

Para que te funcione correctamente el script anterior debes pasarle valores a las dos variables de ALT y ANC, de lo contrario no te funcionará.

Si pretendes poner valores fijos a estas variables, puedes ponerlas en el on-init del formulario o bién directamente en el script y te olvidas del uso de las variables.

Si pretendes que el usuario no importe archivos pesados, lo más lógico es establecer un tamaño máximo del archivo e incrementar esta opción (variable también) en el script para que éste controle el tamaño después de la selección del archivo.


([N4] ns) #10

buenas,

Ya tengo el problema del escalado solucionado, el problema es usar “scaled” (que no respeta proporciones ya que pide alto y ancho)

En la documentación de VImage he encontrado esta función que era la que necesitaba para mantener las proporciones y que no me deformara la imagen:

VImage scaledToHeight( Number height, Number transform = tmFast )

Devuelve una copia de la imagen escalada. La imagen devuelta sera escalada a la altura definida como parámetro y de acuerdo al modo de transformación. La función calcula automáticamente el ancho de la imagen para que el ratio de aspecto de la imagen se mantenga.

Saludos,

santiago.


([N3] ereitmann) #11

Hola , yo también he probado ese este script y funciona muy bien, pero hago una pregunta a quien entienda de esto: con este script se consigue importar la imagen y escalarla pero he notado que si se selecciona una imagen png con transparencia en su fondo al importarla y escalarla ese fondo se convierte en Negro… pero si en cambio se selecciona y guarda la imagen sin este script utilizando directamente en control “objeto dibujo” esta se guarda con fondo blanco o transparente, pero obviamente sin escalarla. Hay alguna forma de que el script anterior mantenga o guarde sin fondo negro esas imágenes png? ya que de java no entiendo ni “j”

Muchas Gracias