недавно моя компания купила блокнот для подписи Wacom STU-530, и я должен реализовать программу, которая получает от него подпись клиента и создает pdf-файл с подписью. Я использую FastReport для реализации PDF, но мне нужно получить подпись с планшета 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')
результирующее растровое изображение является недействительным. Что не так в моем коде?
Type
типа PICTYPE, которое может бытьbitmap
или любым другим, включаяnon-initialized
type-stub: msdn.microsoft.com/ru-ru/library/windows/desktop/ms687195.aspx и 2) обычно объекты с интерфейсом IPictureDisp также реализуют Интерфейс IPicture со встроенным методомSaveToFile
msdn.microsoft.com/ ru-ru/library/windows/desktop/ms694504.aspx - person Arioch 'The   schedule 26.05.2016SetOlePicture
, и это может подсказать вам, какое предположение пошло не так. - person Arioch 'The   schedule 26.05.2016