Ver Mensaje Individual
  #7  
Antiguo 26-04-2023
david.camaleon david.camaleon is offline
Miembro
 
Registrado: oct 2008
Posts: 18
Reputación: 0
david.camaleon Va por buen camino
Wink

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Fíjate que he dicho literalmente:
"Por lo tanto convertir "directamente" una imagen almacenada (una firma) a un TPath no es posible"

Otra cosa es lo que siempre decimos: "En informática no hay nada imposible, lo que hay que evaluar es cuanto cuesta hacerlo".

Entiendo que lo que necesitas sería algo así como utilizar un OCR, que permite reconocer un texto en formato imagen y extraer de ahí un texto como string. En tu caso tienes una imagen, que al ser una firma podemos considerar o convertir en "monocromo" y de ahí extraer un TPath. Al final es como pasar una imagen "normal" a vectorial y eso, aunque no es simple, es posible.

Me ha picado la curiosidad y he buscado un poco sobre eso y he llegado a este artículo:
http://cardhouse.com/computer/vector.htm
Que acaba utilizando este código:
http://cardhouse.com/computer/vectcode.htm

Por lo que he entendido permite convertir un TBitmap, que almacena en una matriz de 0/1 (que cuadra con lo que podría ser una firma) y lo acaba convirtiendo en una lista de vectores. No debería ser complicado, convertir esos vectores en un TPath.

Por si te interesa y quieres seguir investigando...
Buenos días,

Muchas gracias una vez más.

Al final opté por una solución algo más simple. Me explico:

Se trata de un formulario en FireMokey que sirve para el mantenimiento de una tabla de una base de datos, que entre otros campos almacena la firma del cliente como jpg.

1.- Cuando inserto un registro en la base de datos hago una conversión de Tpath a Bitmap y lo almaceno en un campo tipo Blob. El problema viene al tratar de modificar un registro ya existente, en cuyo caso, tengo que presentar el campo Blob almacenado como firma en el objeto tpath de un form, para que pueda ser alterado y almacenado en la base de datos. Aquí es donde hay que pasar el campo de la base de datos almacenado como jpg a tpath.

2.- Mi solución:

Apoyándome en un Timage dentro de un Trectangle, utilizo el Tpath para editar la firma y mediante un botón se almacena en el Timage. Con esto siempre uso este último objeto para intercambiar la información entre la base de datos y el formulario.

Si se trata de una modificación, al leer el registro, cargo al campo blob sobre un objeto Timage mostrando así el contenido de la firma. Si el usuario edita el objeto tpath, debe hacer clic para pasar el contenido de éste al Timage, y es este último el que almaceno en el campo de la base de datos.

Inserción : Tpath ---> Timage --> Campo BD

Modificación : Campo BD --> Timage ; si se edita el Tpath, entonces Tpath --> Timage . Siempre se graba el Timage sobre el campo de la BD.

Espero haberme explicado
Responder Con Cita