Estimados
Les comento que estoy haciendo un sistema en una institución educativa y se deben tomar fotos a los estudiantes para obtener sus pases, debe tener un tamaño y proporción específica y debe llevar una cinta con el número de ID/DNI en la base de la foto, hasta ahora he podido encender la cámara, tomar la foto, recortarla y ajustar el tamaño y proporciones usando VImage en javascript pero no encuentro cómo escribir o dibujar sobre la imágen, la documentación no es muy clara y el soporte tampoco ayuda mucho, me gustaría evitar instalar software externo y como último recurso tener que hacer un webservice que haga el trabajo porque para eso mejor lo hago todo en php
Recién estoy comenzando a hacer nuevos proyectos usando velneo pero me cuesta salir de lo conocido, además que estaba acostumbrado con php a que existieran soluciones para todo y con velneo me pasa que siempre falta algo
Espero me puedan ayudar, de antemano muchas gracias
Entiendo que lo que quieres hacer es insertar una Marca de agua a la imagen obtenida con la cámara.
Lamentablemente en Velneo no disponemos de herramientas gráficas elementales y tampoco hay un mecanismo para incorporar librerías DLL’s del mercado, ni siquiera de QT o QML que sería lo natural.
Para solucionar tu problema puedes hacer uso del Visor HTML de Velneo con toda la potencia del API de HTML5 y de un objeto muy versátil como el Canvas.
Tienes miles de ejemplos en la web, pero si quieres practicar en tiempo real puedes usar la aplicación del cloud Test de Código de los Ejercicios con velneo.
Mira el ejemplo de la sección HTML en la rama Canvas.
Hola Paco
Antes. de todo muchas gracias por darte el tiempo en responder.
Si dispusiera de canvas en velneo sería ideal, mi problema es que debo generar los archivos jpg de las imágenes procesadas no solamente mostrarlas no se si se puede generar un visor html tipo navegador headless sin interface gráfica para generar la imágen y luego capturarla para almacenarla
El Visor HTML es un objeto que solo funciona incrustado en un Formulario, no se puede instanciar en memoria directamente. El Visor HTML no tiene que estar visible ya que el canvas hará su función aún estando el Visor oculto.
La ejecución de Visor HTML es asíncrona y habría que sincronizar con el código Velneo nativo.
En cualquier caso, se puede realizar perfectamente el proceso siguiente:
Haces la foto al individuo y una vez verificada la guardas en disco.
Ejecutas un Formulario con un solo control, el Visor HTML oculto. Este formulario puede ser de un tamaño pequeño y con el Estilo sin título y sin botones para que tenga aspecto de mensaje Popup.
Ejecutas el Formulario con Crear manejador para que puedas pasarle el Path de la foto y el valor del RUN.
El Visor ejecutará el proceso de Combinar la Foto y el RUN usando el Canvas y dejará el resultado en una variable local del formulario en formato Base64.
El Visor HTML cierra el Formulario y de manera síncrona tenemos el resultado para guardarlo en Disco o almacenarlo en la Base de datos.
El efecto visual es que el Usuario ve en pantalla durante un segundo el Formulario en blanco, aunque puedes mostrar un Label con el texto “procesando …”
Gracias Paco
Sólo me quedan dudas porque no entiendo bien que tan integrado está el visor html con velneo y como se comunican el html dentro del visor con el formulario que lo contiene
en el punto 3: ¿cómo accedes desde el formulario velneo a la variable que contiene la nueva imágen en base64 en una variable que está en el visor HTML? probé seteando una variable en el javascript del html con el mismo nombre de una variable del formulario y con return pero no me funciona
en el punto 4: ¿cómo haces que se cierre un formulario desde el html del visor? probé con window.close() pero no me funciona
Disculpa todas las dudas pero no encuentro mas fuentes de información y me complica quedar pegado por mas de un día en este tema
Desde el formulario que contiene el Visor HTML debes capturar el evento Link clicked que habrás lanzado desde el código HTML. De esta forma sabrá Velneo de manera síncrona cuándo seguir con el proceso de guardado de la foto.
Un vez capturado el evento Link clicked y con la información en EVENT_PARAMS ya puedes cerrar el Formulario.
Estimado @pacosatu
Muchas gracias por toda tu ayuda, me sirvieron mucho tus orientaciones y también tu aplicación de Ejercicios con velneo, se las recomiendo a todos quienes estén comenzando o necesiten abarcar mas temas avanzados y además gratis!
Logré resolver mi problema y continuar con el resto de la aplicación, nuevamente muchas gracias, quedo en deuda contigo, si alguna vez vienes por Chile, te debo una cerveza!.
También gracias @bitcodesoft lamentablemente el tema de QML aún me queda grande pero el tiempo dedicado se agradece mucho
Me alegro que hayas podido solucionar el problema.
Los Ejercicios con Velneo son una pequeña muestra de lo que he tenido que conocer para resolver muchas funcionalidades que vayamos a incorporar a nuestras aplicaciones.
El API de Velneo, CSS, javascript, HTML5 y el QML son herramientas de programación que irremediablemente habrá que incorporar tarde o temprano.
Por supuesto, todos deseamos que haya más Qt/C++ (o LifeIsSoft) para no tener que recurrir a lo otro.
Y como comenta bitcodesoft, para este problema lo más efectivo es solucionarlo con QML ya que dispone de controles específicos para la gestión gráfica.