1 (изменено: inseption86, 2025-04-01 15:33:57)

Тема: AHK: wacom Signature Capture

Добрый день! Подскажите пож-та, хочу использовать планшет цифровой подписи (wacom stu-300) для сохранения её в файл.

Скрипт для JS:



/*
  CaptureImage
  Captures a signature and creates an encoded image file sig.png
  (an alternative output filename can be supplied as an argument)
  
*/
function print( txt ) { // to simplify the code
  WScript.Echo(txt);
}
main();
function main() {
  filename = "sig.png";
  // Look for commandline arguments
  args = WScript.Arguments;
  if(args.Count() > 0 )
    filename=args(0);
  // Create ActiveX controls
  sigCtl = new ActiveXObject("Florentis.SigCtl");
  sigCtl.SetProperty("Licence","eyJhbGciOiJSUzUxM");
  dynCapt = new ActiveXObject("Florentis.DynamicCapture");
  // Start Signature Capture
  rc = dynCapt.Capture(sigCtl,"Who","Why");
  if( rc == 0 ) {

    // create a signature image
    flags = 0x1000 | 0x80000 | 0x400000; //SigObj.outputFilename | SigObj.color32BPP | SigObj.encodeData
    rc = sigCtl.Signature.RenderBitmap(filename, 300, 150, "image/png", 0.5, 0xff0000, 0xffffff, 0.0, 0.0, flags );

  }
  else {
    // Capture failed:
    print("Capture returned: " + rc);
    switch(rc) {
      case 1:   print("Cancelled");
                break;
      case 100: print("Signature tablet not found");
                break;
      case 103: print("Capture not licensed");
                break;
    }
  }
}


Для ahk переделал, на планшете отображается вводные данные, а при сохранении - ошибка. Видимо " flags = 0x1000 | 0x80000 | 0x400000; //SigObj.outputFilename | SigObj.color32BPP | SigObj.encodeData" надо как то по другому прописать?




dynCapt := ComObjCreate("Florentis.DynamicCapture")
sigCtl := ComObjCreate("Florentis.SigCtl")


sigCtl.SetProperty("Licence", "eyJhbGciOiJSUzUxMi")

filename := "C:\Temp\345345435.png"

SignSert := "001223453453453"
SignFullName := "Смирнов Александр Алексеевич"

rc := dynCapt.Capture(sigCtl, SignSert, SignFullName)

if(rc = 0)
{
	
	flags := "0x1000"
	
	;~ SignatureText := sigCtl.Signature.SigText
	;~ MsgBox % SignatureText
	
	rc := sigCtl.Signature.RenderBitmap(filename, "370", "80", "image/png", "0.5", "0xff0000", "0xffffff", "0.0", "0.0", flags)

	
}

2 (изменено: Alectric, 2025-04-01 17:35:31)

Re: AHK: wacom Signature Capture

"flags" - должно быть число, а не строка?

flags := "0x1000" ; - строка
flags := 0x1000 | 0x80000 | 0x400000 ; - число
msgbox % flags

Насчет этих тоже наверно касается:

 "370", "80",  , "0.5", "0xff0000", "0xffffff", "0.0", "0.0"
Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

3

Re: AHK: wacom Signature Capture

Alectric

не знаю.


в JS так работает


// create a signature image
    flags = 0x1000 | 0x80000 | 0x400000; //SigObj.outputFilename | SigObj.color32BPP | SigObj.encodeData
    rc = sigCtl.Signature.RenderBitmap(filename, 300, 150, "image/png", 0.5, 0xff0000, 0xffffff, 0.0, 0.0, flags );

4

Re: AHK: wacom Signature Capture

Попробуй передавать числа, а не строки. Может заработает. Все что в кавычках ahk считает строкой.

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.