首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi Wacom SDK

Delphi Wacom SDK
EN

Stack Overflow用户
提问于 2016-05-26 17:34:25
回答 2查看 1.6K关注 0票数 0

最近,我的公司买了一个Wacom STU-530签名簿,我必须实现一个程序,从它获取客户签名,并创建一个带有签名的pdf。我使用FastReport来实现PDF,但我需要从wacom平板电脑获取签名。通过sdk,我实现了以下代码:

代码语言:javascript
复制
procedure TfrmMain.btnFirmaClick(Sender: TObject);
var
  objFirma: SigObj;
  ctlFirma: TSigCtl;
  picFirma: TPicture;
  res: CaptureResult;
begin
  picFirma := TPicture.Create;
  ctlFirma := TSigCtl.Create(Self);
  res := ctlFirma.Capture('Firmare per accettazione',
    'Formazione del personale in affiancamento');
  case res of
    CaptureOK: begin
      objFirma := SigObj(ctlFirma.Signature);
      SetOlePicture(picFirma, objFirma.Picture(300, 300, 'image/bmp', 0.5, $000000,
        $ffffff, -1.0, -1.0, RenderOutputPicture or RenderColor32BPP or
        RenderEncodeData));
      picFirma.SaveToFile('firma.bmp');
    end;
  end;
  ctlFirma.Free;
  picFirma.Free;
end;

SigObj有一个返回IPictureDisp的方法,我需要将它转换成TImage,所以我使用了SetOlePicture,但是当我保存图像时,它是不可读的。如果我尝试用来保存图片

代码语言:javascript
复制
picFirma.bitmap.SaveToFile('firma.bmp')  

生成的位图是空的。我的代码出了什么问题?

EN

回答 2

Stack Overflow用户

发布于 2016-09-08 15:24:33

根据Signature SDK附带的Signature Components接口,要获取位图形式的签名,需要使用RenderBitmap方法。

标志RenderBitmap( outputFilename,dimensionX,dimensionY,mimeType,inkWidth,nkColor,backgroundColor,paddingX,paddingY,flags)

呈现签名的图像,创建图像文件或返回二进制数据。可选地,使用隐写术技术对生成的图像中的SigObj数据进行编码。

代码语言:javascript
复制
    objFirma:= SigObj(ctlFirma.Signature);
    objFirma.RenderBitmap('firma.bmp', 300, 300, 'image/bmp', 0.5, $000000,
    $ffffff, -1.0, -1.0, RenderOutputFilename or RenderColor32BPP or RenderEncodeData);
票数 0
EN

Stack Overflow用户

发布于 2021-09-05 16:18:34

在当前版本的Wacom signature SDK 4.5.6中,您的代码运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37456921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档