最近私の会社はWacom STU-530署名パッドを購入しました。私はそれからクライアント署名を取得し、署名付きのpdfを作成するプログラムを実現しました。 私はFastReportを使ってPDFを実現していますが、wacomタブレットから署名を取得する必要があります。Delphi Wacom SDK
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を返し、私はSetOlePictureを使用しましたので、TImageのに変換する必要がある方法がありますが、私は画像を保存すると、それは次のとおりです。私はこのコードを実現SDKで 読めない。
picFirma.bitmap.SaveToFile('firma.bmp')
を使用して画像を保存しようとすると、結果のビットマップは無効になります。 私のコードで何が間違っていますか?
このことについてベンダーに問い合わせる必要があると思います。彼らは、あなたが望むものを達成するための方法の例を提供する必要があります。 – RBA
問題はWacom SDKではなく、IPictureDispが返す問題です。 SetOlePictureは、IPictureDispオブジェクトをTPictureオブジェクトに接続する必要がありますが、イメージをファイルに保存すると、そのイメージは読み込み不可能または空です。 – Eros
@Err RBKは正しいかもしれません。確かに、すべてのライブラリが正しいiPictureDispの実装をしているわけではありません。マイクロソフト自身も正しく実装していません。http://stackoverflow.com/a/480350/976391ベンダーに質問し、サンプルコードを取得してください。 –