tableta de captura de firma en formato digital
tableta de captura de firma en formato digital
Hola,
Estoy probando una tableta para la captura de firma, como la que tienen los bancos, pero no se por donde empezar
¿Alguien la está utilizando?
Algún ejemplo, o ayuda será bienvenido
Gracias
Estoy probando una tableta para la captura de firma, como la que tienen los bancos, pero no se por donde empezar
¿Alguien la está utilizando?
Algún ejemplo, o ayuda será bienvenido
Gracias
Re: tableta de captura de firma en formato digital
Marca y modelo?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: tableta de captura de firma en formato digital
WACOM STU-430/G
Re: tableta de captura de firma en formato digital
Entiendo que te han de proporcionar alguna DLL, o algún SDK para su programación desde cualquier lenguaje
------------------------------------------- EDITO -----------------------------------------------
Si, he visto esto
http://signature.wacom.eu/es/productos/ ... tware-sdk/
------------------------------------------- EDITO -----------------------------------------------
Si, he visto esto
http://signature.wacom.eu/es/productos/ ... tware-sdk/
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: tableta de captura de firma en formato digital
João Santos - São Paulo - Brasil
Re: tableta de captura de firma en formato digital
gracias,
voy a ver si consigo la información
voy a ver si consigo la información
-
- Posts: 179
- Joined: Sun Jan 31, 2010 3:30 pm
- Location: Bucaramanga - Colombia
Re: tableta de captura de firma en formato digital
Buena día...
Esta fue mi solución...
1. Las pen tablet, funcionan como una extensión del mouse y de la pantalla
2. Una vez instalada cualquier marca de pen tablet, queda habilita esta función y ya puede usar el lápiz sobre la tablet y dibujar. Esta función la puede
hacer a manera de prueba con el mouse sobre la aplicación que captura la digitalización ( dibujar a mano alzada), que puede ser microsoft paint o
una aplicación propia ( desarrollo)
3. En fivewin lo puede implementar con la clase TGRAPH
En estos días estoy desarrollando una app para manejo y registro de firmas, fotos y huellas y me encontré con los siguientes problemas :
A. Para la firma se debe capturar y luego recortar para que la imagen resultante no sea del tamaño de la ventana y que al imprimir se pueda ajustar
y ser legible en una área de firma de documento, no encontré esta opción en fivewin , sino que en java .
B. La solución fue en java (captura firma, la recorta y genera la imagen) y hacer interface desde mi app-fivewin mediante paso de parámetros
(directo o con archivo texto), y lanzar y cerrar la app-java desde fivewin como si fuera una ventana mas de mi app-fivewin.
( No se nota que es una app externa)
C. De esta forma ya tengo una app para toma de huellas, toma de fotos, lectura de basculas POS y ahora captura de firmas.
Con gusto le puedo ampliar este tema...
* todo lo hice con ejemplos java tomados de los fabricantes y adaptadas por terceros - google + el ajuste o desarrollo particular en java
Johnson Russi
Colombia
Esta fue mi solución...
1. Las pen tablet, funcionan como una extensión del mouse y de la pantalla
2. Una vez instalada cualquier marca de pen tablet, queda habilita esta función y ya puede usar el lápiz sobre la tablet y dibujar. Esta función la puede
hacer a manera de prueba con el mouse sobre la aplicación que captura la digitalización ( dibujar a mano alzada), que puede ser microsoft paint o
una aplicación propia ( desarrollo)
3. En fivewin lo puede implementar con la clase TGRAPH
En estos días estoy desarrollando una app para manejo y registro de firmas, fotos y huellas y me encontré con los siguientes problemas :
A. Para la firma se debe capturar y luego recortar para que la imagen resultante no sea del tamaño de la ventana y que al imprimir se pueda ajustar
y ser legible en una área de firma de documento, no encontré esta opción en fivewin , sino que en java .
B. La solución fue en java (captura firma, la recorta y genera la imagen) y hacer interface desde mi app-fivewin mediante paso de parámetros
(directo o con archivo texto), y lanzar y cerrar la app-java desde fivewin como si fuera una ventana mas de mi app-fivewin.
( No se nota que es una app externa)
C. De esta forma ya tengo una app para toma de huellas, toma de fotos, lectura de basculas POS y ahora captura de firmas.
Con gusto le puedo ampliar este tema...
* todo lo hice con ejemplos java tomados de los fabricantes y adaptadas por terceros - google + el ajuste o desarrollo particular en java
Johnson Russi
Colombia
Re: tableta de captura de firma en formato digital
Bueno, me he puesto en contacto con el fabricante y he descargado el SDK, pero no se por donde tirar,
Tengo libreriras para C, pero al intentar enlazarlas en un ejemplo que tiene para C me tira el error
creo que el problema es que estan escritas para otro compilador.
tambien tengo la DLL "wgssSTU.DLL" y ahora estoy intentando usar una DLL pero no no se que funciones puedo utilizar y como llamarlas.
La documentación se refiere a esta clase como la primera para obtener los dispositvos conectados
For those wanting to skip any preamble, the key classes and functions are:
wgssSTU::UsbDevices – retrieves an array of attached USB tablets.
wgssSTU::UsbInterface and wgssSTU::SerialInterface – connects to a specific tablet.
wgssSTU::Tablet – queries and controls a tablet.
wgssSTU::JScript – provides helper routines for use in HTML.
Intento leeer el array de dispositivos con este ejemplo
Tengo libreriras para C, pero al intentar enlazarlas en un ejemplo que tiene para C me tira el error
Code: Select all
Turbo Incremental Link 6.70 Copyright (c) 1997-2014 Embarcadero Technologies, Inc.
Error: 'X:\CEPP\FUENTES\FW\WACOM\LIB\W32\WGSSSTU.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
tambien tengo la DLL "wgssSTU.DLL" y ahora estoy intentando usar una DLL pero no no se que funciones puedo utilizar y como llamarlas.
La documentación se refiere a esta clase como la primera para obtener los dispositvos conectados
For those wanting to skip any preamble, the key classes and functions are:
wgssSTU::UsbDevices – retrieves an array of attached USB tablets.
wgssSTU::UsbInterface and wgssSTU::SerialInterface – connects to a specific tablet.
wgssSTU::Tablet – queries and controls a tablet.
wgssSTU::JScript – provides helper routines for use in HTML.
Intento leeer el array de dispositivos con este ejemplo
Code: Select all
Function main()
pruebaC()
Msginfo("fin")
RETURN NIL
STATIC FUNCTION PruebaC()
Testear()
RETURN NIL
FUNCTION Testear()
Local x
x := WgssSTU():UsbDevices() // Array de tablets conectadas
RETURN NIL
DLL FUNCTION WgssSTU() AS LONG PASCAL LIB "wgssSTU.DLL"
//DLL FUNCTION WgssSTU() AS LONG PASCAL FROM "WgssSTU" LIB "wgssSTU.dll"
*/
Re: tableta de captura de firma en formato digital
Parece que la lib es para Visual Studio, compila con las libs de fw para visual studio
Seguramente tengas que desarrollar un wrapper de la lib para poder acceder a las funciones
Seguramente tengas que desarrollar un wrapper de la lib para poder acceder a las funciones
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: tableta de captura de firma en formato digital
Bueno, sigo con el tema,
Estoy probando los ejemplos que me pasaron en javascript y hay algo que no funciona.
A ver si alguien me puede echar una mano
Cuando ejecuto la pagina con internet explorer la imagen se carga correctamente en la tablet, pero cuando lo hago yo, la imagen no se carga bien aunque se carga algo y además se produce un error en metodo tablet:writeimage
¿Alguna idea?
Gracias
pagina javascript
y esto es lo que yo he generado en harbour
Estoy probando los ejemplos que me pasaron en javascript y hay algo que no funciona.
A ver si alguien me puede echar una mano
Cuando ejecuto la pagina con internet explorer la imagen se carga correctamente en la tablet, pero cuando lo hago yo, la imagen no se carga bien aunque se carga algo y además se produce un error en metodo tablet:writeimage
¿Alguna idea?
Gracias
pagina javascript
Code: Select all
<html>
<head>
<title>SendToSTU</title>
<script type="text/javascript">
<!--
// ==========================================================================
// Utilities
//
function print(txt) {
var txtDisplay = document.getElementById("txtDisplay");
txtDisplay.value += txt + "\n";
txtDisplay.scrollTop = txtDisplay.scrollHeight; // scroll to end
}
function dec2hex(i) {
return( "0x" + ((i<16)?"0":"") + i.toString(16).toUpperCase()); // add leading zero if < 16 e.g. 0x0F
}
function DisplayImage() {
var filename = document.getElementById("imgFilename").value;
document.getElementById("idImg").src = filename;
}
function SendToSTU() {
DisplayImage();
var filename = document.getElementById("imgFilename").value;
print("SendToSTU: " + filename);
sdkSendToSTU(filename);
}
function getCurrentDir() {
var scriptFullName = window.location.pathname; // gets /c:/pathname/file.html
scriptFullName = scriptFullName.replace(/\//g,"\\"); //convert all '/' to '\'
var scriptPath = scriptFullName.substring( 1, scriptFullName.lastIndexOf("\\")+1 ); // c:\pathname\
scriptPath = unescape(scriptPath); // change %20 back to space
return( scriptPath );
}
function OnLoad() {
document.getElementById("imgFilename").value = getCurrentDir() + "640x480.png"; // default to STU-500
DisplayImage();
print("Use the [Browse] button to select an image file. Sample images are included in this folder:");
print( getCurrentDir() );
print("To display the image on an STU press [Send Image to STU]");
}
// ==========================================================================
// SDK Application code
//
// enumerations copied from SDK\COM\doc with reformatted syntax
enumEncodingFlag = { // encodingFlag reports what the STU device is capable of:
EncodingFlag_Zlib : 0x01,
EncodingFlag_1bit : 0x02, // mono
EncodingFlag_16bit : 0x04, // 16bit colour (520/530)
EncodingFlag_24bit : 0x08 // 24bit colour (530)
}
enumEncodingMode = { // selects image transformation
EncodingMode_1bit : 0x00, // mono display STU300/430/500
EncodingMode_1bit_Zlib : 0x01, // use zlib compression (not automated by the SDK – the application code has to compress the data)
EncodingMode_16bit : 0x02, // colour stu-520 & 530
EncodingMode_24bit : 0x04, // colour STU 530
// tablet.supportsWrite() is true if the bulk driver is installed and available
EncodingMode_1bit_Bulk : 0x10, // use bulk driver (520/530)
EncodingMode_16bit_Bulk : 0x12,
EncodingMode_24bit_Bulk : 0x14,
EncodingMode_Raw : 0x00,
EncodingMode_Zlib : 0x01,
EncodingMode_Bulk : 0x10,
EncodingMode_16bit_565 : 0x02
}
enumScale = {
Scale_Stretch : 0,
Scale_Fit : 1,
Scale_Clip : 2
}
var tablet;
var protocolHelper;
function sdkSendToSTU(filename) {
if (connect())
{
try
{
var caps = tablet.getCapability();
var info = tablet.getInformation();
print("STU model: " + info.modelName);
var pId = tablet.getProductId();
print("Product id: "+ dec2hex(pId));
var encodingFlag = protocolHelper.simulateEncodingFlag(pId, caps.encodingFlag);
print("encodingFlag: " + dec2hex(encodingFlag));
if ((encodingFlag & enumEncodingFlag.EncodingFlag_24bit) != 0)
{
encodingMode = tablet.supportsWrite() ? enumEncodingMode.EncodingMode_24bit_Bulk : enumEncodingMode.EncodingMode_24bit;
}
else if ((encodingFlag & enumEncodingFlag.EncodingFlag_16bit) != 0)
{
encodingMode = tablet.supportsWrite() ? enumEncodingMode.EncodingMode_16bit_Bulk : enumEncodingMode.EncodingMode_16bit;
}
else
{
// assumes 1bit is available
encodingMode = enumEncodingMode.EncodingMode_1bit;
}
print("encodingMode: " + dec2hex(encodingMode));
var stuImage = protocolHelper.resizeAndFlatten(unescape(filename), 0, 0, 0, 0, caps.screenWidth, caps.screenHeight, encodingMode, enumScale.Scale_Fit, false, 0);
tablet.writeImage(encodingMode, stuImage); // uses the colour mode flags in encodingMode
tablet.disconnect();
}
catch(e)
{
print("Exception: " + e.message);
}
}
}
function connect()
{
var connected = false;
try
{
var usbDevices;
usbDevices = new ActiveXObject("WacomGSS.STU.UsbDevices");
var count = usbDevices.Count;
if (count > 0)
{
var usbDevice = usbDevices.Item(0); // use the first STU found in the list.
if (tablet == null)
{
protocolHelper = new ActiveXObject("WacomGSS.STU.ProtocolHelper");
tablet = new ActiveXObject("WacomGSS.STU.Tablet");
}
var r1 = tablet.usbConnect(usbDevice, false);
var r = r1.value;
if (r == 0)
{
connected = true;
}
else
{
print("Connect failed");
}
}
else
{
print("No devices connected");
}
usbDevices = null;
}
catch (e)
{
print("Exception: "+ e.message);
}
return connected;
}
-->
</script>
</head>
<body onload="OnLoad()">
<h1>SendToSTU</h1>
<table>
<tr>
<td style="border:1px solid black;width:250pt;height:190pt;">
<img id="idImg" style="width:250pt;"/>
</td>
<td>
<input type="button" value="Send Image to STU" style="width:40mm;margin-left:5mm" onClick="SendToSTU();"
title="Sends the image file to the STU display"/>
</td>
</tr>
</table>
<p/>
<input type="hidden" id="imgFilename" />
<input type="file" id="browseFile" size=80 onchange="imgFilename.value=this.value;DisplayImage();" />
<br/><br/>
<textarea cols="125" rows="15" id="txtDisplay"></textarea>
</body>
</html>
Code: Select all
#include "FiveWin.Ch"
#define NTRIM(n) ( LTrim( Str( n ) ) )
//#define print(x) msginfo(x)
#translate print( <v1>[, <v2>]) => ;
depura( <v1> [, <v2> ] )
STATIC UsbDevices, usbDevice, tablet, protocolHelper, r, r1
//------------------------------------------------------------------------//
Function main()
If MsgNoYes("Borrar")
BorrarTablet()
Else
EnviarImagen()
EndIf
print("fin")
RETURN NIL
//------------------------------------------------------------------------//
Function Connect()
Local nCount //, r1, r
//Local usbDevices, nCount
//Local usbDevice, tablet, protocolHelper, r1, r
Local Connected := .F.
nCount := 0
TRY
usbDevices = createObject("WacomGSS.STU.UsbDevices")
nCount := usbDevices:Count
CATCH
Msginfo("Falta el driver de conexion STU")
RETURN Connected
END
If nCount ==0
WindAviso("No se localizaron dispositivos STU")
Return Connected
EndIf
with object usbDevices
usbDevice := :Item(0)
End
protocolHelper = createObject("WacomGSS.STU.ProtocolHelper")
tablet = createObject("WacomGSS.STU.Tablet")
r1 = tablet:usbConnect(usbDevice, 0)
r = r1:value
If r = 0
Connected = .t.
Else
WindAviso("No se pudo conectar")
EndIf
Return Connected
//------------------------------------------------------------------------//
#define EncodingFlag_Zlib 0x01
#define EncodingFlag_1bit 0x02 // mono
#define EncodingFlag_16bit 0x04 // 16bit colour (520/530)
#define EncodingFlag_24bit 0x08 // 24bit colour (530)
/*
enumEncodingFlag = { // encodingFlag reports what the STU device is capable of:
EncodingFlag_Zlib : 0x01,
EncodingFlag_1bit : 0x02, // mono
EncodingFlag_16bit : 0x04, // 16bit colour (520/530)
EncodingFlag_24bit : 0x08 // 24bit colour (530)
}
*/
#define EncodingMode_1bit 0x00 // mono display STU300/430/500
#define EncodingMode_1bit_Zlib 0x01 // use zlib compression (not automated by the SDK – the application code has to compress the data)
#define EncodingMode_16bit 0x02 // colour stu-520 & 530
#define EncodingMode_24bit 0x04 // colour STU 530
// tablet.supportsWrite() is true if the bulk driver is installed and available
#define EncodingMode_1bit_Bulk 0x10 // use bulk driver (520/530)
#define EncodingMode_16bit_Bulk 0x12
#define EncodingMode_24bit_Bulk 0x14
#define EncodingMode_Raw 0x00
#define EncodingMode_Zlib 0x01
#define EncodingMode_Bulk 0x10
#define EncodingMode_16bit_565 0x02
/*
enumEncodingMode = { // selects image transformation
EncodingMode_1bit : 0x00, // mono display STU300/430/500
EncodingMode_1bit_Zlib : 0x01, // use zlib compression (not automated by the SDK – the application code has to compress the data)
EncodingMode_16bit : 0x02, // colour stu-520 & 530
EncodingMode_24bit : 0x04, // colour STU 530
// tablet.supportsWrite() is true if the bulk driver is installed and available
EncodingMode_1bit_Bulk : 0x10, // use bulk driver (520/530)
EncodingMode_16bit_Bulk : 0x12,
EncodingMode_24bit_Bulk : 0x14,
EncodingMode_Raw : 0x00,
EncodingMode_Zlib : 0x01,
EncodingMode_Bulk : 0x10,
EncodingMode_16bit_565 : 0x02
}
*/
#define Scale_Stretch 0
#define Scale_Fit 1
#define Scale_Clip 2
/*
enumScale = {
Scale_Stretch : 0,
Scale_Fit : 1,
Scale_Clip : 2
}
*/
#define false 0
FUNCTION BorrarTablet()
If !Connect()
RETURN NIL
EndIf
print("Tablet conectada")
tablet:setClearScreen()
tablet:disconnect()
print("tablet borrada")
return nil
FUNCTION unescape(xValue) ; RETURN xValue
FUNCTION EnviarImagen()
Memvar oErr
Local caps, info, pId, encodingFlag, encodingMode, stuImage, filename
BorrarTablet()
If !Connect()
RETURN NIL
EndIf
print("Tablet conectada")
caps = tablet:getCapability()
info = tablet:getInformation()
print("STU model: " + info:modelName)
pId = tablet:getProductId()
print("Product id: "+ dec2hex(pId))
encodingFlag = protocolHelper:simulateEncodingFlag(pId, caps:encodingFlag)
print("encodingFlag: " + dec2hex(encodingFlag))
If nAnd(encodingFlag, EncodingFlag_24bit ) != 0
encodingMode = iif(tablet:supportsWrite(), EncodingMode_24bit_Bulk, EncodingMode_24bit)
elseif nAnd(encodingFlag , EncodingFlag_16bit) != 0
encodingMode = iif(tablet:supportsWrite(), EncodingMode_16bit_Bulk, EncodingMode_16bit)
else
encodingMode = EncodingMode_1bit
EndIf
print(encodingflag)
print(EncodingFlag_24bit )
print(nAnd(EncodingFlag, EncodingFlag_Zlib ))
print(nAnd(EncodingFlag, EncodingFlag_1bit ))
print(nAnd(EncodingFlag, EncodingFlag_16bit))
print(nAnd(EncodingFlag, EncodingFlag_24bit ))
print(tablet:supportsWrite(), "suportswrite")
print("encodingMode: " + dec2hex(encodingMode))
filename := unescape("imagen.jpg")
stuImage = protocolHelper:resizeAndFlatten(filename, 0, 0, 0, 0, caps:screenWidth, caps:screenHeight, encodingMode, Scale_Fit, .f., 0)
print(filename, "filename")
print(caps:screenWidth, "screenwidth")
print(caps:screenHeight, "screenhigh")
print(encodingMode, "encondingmode")
print(Scale_Fit, "ScaleFit")
TRY
tablet:writeImage(encodingMode, stuImage) // uses the colour mode flags in encodingMode
CATCH oErr
Msginfo("Error en la escritura de la tablet")
END
tablet:disconnect()
RETURN NIL
Re: tableta de captura de firma en formato digital
¿ Que tipo de captura de firma necesitas ? .
Me refiero si simplemente es capturar una imagen de firma o se trata de que se "realmente segura" con todo lo que aporta wacom, de seguridad en trazos, certificado,fechado , etc
Yo me peleé con una de un amigo hace como un año.
Si lo que buscas requiere "seguridad" la opción facil es usar el programa de generacíon de pdf que trae la tableta, te permite personalizar ciertos parametros ( limitados) pero te genera "pdf seguros" con un monton de información sobre la firma. Si necnesitas personalizarlo mucho mas tienes que tirar del sdk que ademas creo que era de pago .
Para una cosa simple donde quieras recoger los trazos tienes un sdk mas simple con ejemplos en varios idiomas de programación. Yo lo intente intentando crear un wrapper a harbour pero no funcionaba como debería.
La solución final para mi ( que solo pretendía capturar la firma ) fue coger el ejemplo que tienes en Delphi y modificarlo un poco para poner el logo de fondo de pantalla y los tesxto que quería mostar y que generase una imagen de la firma .
Es un exe delphi con unos pocos parametros en un fichero ini. Se llama desde el programa fwh.exe , se espera a que genere el archivo imagen de la firma y se cierra el programa y se devuelve el control al exe fwh para que genere el pdf con la firma ...
Me refiero si simplemente es capturar una imagen de firma o se trata de que se "realmente segura" con todo lo que aporta wacom, de seguridad en trazos, certificado,fechado , etc
Yo me peleé con una de un amigo hace como un año.
Si lo que buscas requiere "seguridad" la opción facil es usar el programa de generacíon de pdf que trae la tableta, te permite personalizar ciertos parametros ( limitados) pero te genera "pdf seguros" con un monton de información sobre la firma. Si necnesitas personalizarlo mucho mas tienes que tirar del sdk que ademas creo que era de pago .
Para una cosa simple donde quieras recoger los trazos tienes un sdk mas simple con ejemplos en varios idiomas de programación. Yo lo intente intentando crear un wrapper a harbour pero no funcionaba como debería.
La solución final para mi ( que solo pretendía capturar la firma ) fue coger el ejemplo que tienes en Delphi y modificarlo un poco para poner el logo de fondo de pantalla y los tesxto que quería mostar y que generase una imagen de la firma .
Es un exe delphi con unos pocos parametros en un fichero ini. Se llama desde el programa fwh.exe , se espera a que genere el archivo imagen de la firma y se cierra el programa y se devuelve el control al exe fwh para que genere el pdf con la firma ...
Re: tableta de captura de firma en formato digital
Gracias por responder,
De momento estoy haciendo pruebas,
El caso es que estoy jugando un poco con la tableta para ver que se puede hacer y como es la primera vez que trabajo con objetos COM estoy un poco perdido,
Lo que me sorprende es que cuando ejecuto la pagina html, el codigo javascript hace el trabajo correctamente, (enviar una imagen que aparece en la tablet) pero cuando lo hago con harbour se envia la imagen (pero no sale correctamente) y se genera un error.
Creo que debe se por el tipo de algun dato (int, long...) que le paso a la funcion pero no se como comprobar.
caps = tablet:getCapability()
la variable caps que se carga con el metodo getCapability() devuelve un objeto con varios valores pero de distintos tipos segun la documentacion
UNIT16 y UNIT8
Creo que el problema está en el metodo protocolHelper.resizeAndFlatten
en javascript es
var stuImage = protocolHelper.resizeAndFlatten(unescape(filename), 0, 0, 0, 0, caps.screenWidth, caps.screenHeight, encodingMode, enumScale.Scale_Fit, false, 0)
En harbour lo he traducido y los valores que envio a la funcion son los mismos pero el resultado es que aparece en la tablet una imagen que es como si se viera la imagen ampliada y a continuación se genera un error.
Un saludo
De momento estoy haciendo pruebas,
El caso es que estoy jugando un poco con la tableta para ver que se puede hacer y como es la primera vez que trabajo con objetos COM estoy un poco perdido,
Lo que me sorprende es que cuando ejecuto la pagina html, el codigo javascript hace el trabajo correctamente, (enviar una imagen que aparece en la tablet) pero cuando lo hago con harbour se envia la imagen (pero no sale correctamente) y se genera un error.
Creo que debe se por el tipo de algun dato (int, long...) que le paso a la funcion pero no se como comprobar.
caps = tablet:getCapability()
la variable caps que se carga con el metodo getCapability() devuelve un objeto con varios valores pero de distintos tipos segun la documentacion
UNIT16 y UNIT8
Creo que el problema está en el metodo protocolHelper.resizeAndFlatten
en javascript es
var stuImage = protocolHelper.resizeAndFlatten(unescape(filename), 0, 0, 0, 0, caps.screenWidth, caps.screenHeight, encodingMode, enumScale.Scale_Fit, false, 0)
En harbour lo he traducido y los valores que envio a la funcion son los mismos pero el resultado es que aparece en la tablet una imagen que es como si se viera la imagen ampliada y a continuación se genera un error.
Code: Select all
filename := "imagen.jpg"
stuImage = protocolHelper:resizeAndFlatten(filename, 0, 0, 0, 0, caps:screenWidth, caps:screenHeight, encodingMode, Scale_Fit, .f., 0)
TRY
tablet:writeImage(encodingMode, stuImage) // uses the colour mode flags in encodingMode
CATCH oErr
Msginfo("Error en la escritura de la tablet")
END
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: tableta de captura de firma en formato digital
Hola amigos, ¿algún avance al respecto? Me toca pelearme también con una wacom.
Saludos!
Saludos!
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: tableta de captura de firma en formato digital
Hola mastintin , ¿sería posible que me pasaras el fuente Delphi modificado? Me basta con recoger la firma sin más florituras.mastintin wrote:¿ Que tipo de captura de firma necesitas ? .
Me refiero si simplemente es capturar una imagen de firma o se trata de que se "realmente segura" con todo lo que aporta wacom, de seguridad en trazos, certificado,fechado , etc
Yo me peleé con una de un amigo hace como un año.
Si lo que buscas requiere "seguridad" la opción facil es usar el programa de generacíon de pdf que trae la tableta, te permite personalizar ciertos parametros ( limitados) pero te genera "pdf seguros" con un monton de información sobre la firma. Si necnesitas personalizarlo mucho mas tienes que tirar del sdk que ademas creo que era de pago .
Para una cosa simple donde quieras recoger los trazos tienes un sdk mas simple con ejemplos en varios idiomas de programación. Yo lo intente intentando crear un wrapper a harbour pero no funcionaba como debería.
La solución final para mi ( que solo pretendía capturar la firma ) fue coger el ejemplo que tienes en Delphi y modificarlo un poco para poner el logo de fondo de pantalla y los tesxto que quería mostar y que generase una imagen de la firma .
Es un exe delphi con unos pocos parametros en un fichero ini. Se llama desde el programa fwh.exe , se espera a que genere el archivo imagen de la firma y se cierra el programa y se devuelve el control al exe fwh para que genere el pdf con la firma ...
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: tableta de captura de firma en formato digital
Lo busco y te envío lo que tengo .Facilitame un mail ...AngelSalom wrote: Hola mastintin , ¿sería posible que me pasaras el fuente Delphi modificado? Me basta con recoger la firma sin más florituras.