Недавно моя компания купила подписи подписи Wacom STU-530, и я должен реализовать программу, которая получит от него подпись клиента и создаст pdf-файл с подписью. Я использую FastReport для реализации PDF, но мне нужно приобрести подпись с планшета wacom. С SDK я понял, этот код: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 и мне нужно, чтобы преобразовать его в TImage, так что я использовал SetOlePicture, но когда я сохраняю изображение является нечитаемым. Если я попытаюсь сэкономить фото с
picFirma.bitmap.SaveToFile('firma.bmp')
полученное растровое изображение недействительно. Что не так в моем коде?
Я думаю, вы должны спросить поставщика об этом. Они должны предоставить вам пример того, как выполнить то, что вы хотите. – RBA
Проблема заключается не в SDK Wacom, а в возврате IPictureDisp. SetOlePicture должен подключать объект IPictureDisp к объекту TPicture, но когда я сохраняю изображение в файле, он нечитабелен или пуст. – Eros
@ Eros RBK может быть прав; В самом деле, не все библиотеки выполняют правильную реализацию iPictureDisp, даже сами Microsoft не реализуют ее правильно - см. Http://stackoverflow.com/a/480350/976391 Спросите продавца, попробуйте получить образец кода от них –