Я использую библиотеку WIA 2.0 в Delphi XE для автоматизации сканирования. Я использую функцию " ShowAcquireImage ", чтобы предоставить изображение для сохранения на диск. Я хочу сохранить изображение в сжатом формате, таком как png или jpg, но библиотека, кажется, сохраняет только растровое изображение.
Кто-нибудь еще видел эту проблему, и есть ли обходной путь? (Помимо сохранения на диск в виде большого файла bmp и повторной загрузки в объект TJpegImage / TPngImage, то есть.)
Спасибо за любой совет
PhilW.
Этот код я сейчас использую:
//...
uses ComObj, WIA_TLB,
//...
procedure TMainForm.ScanWiaDocument(DocumentRef: String);
const
wiaFormatJPEG = '{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}';
wiaFormatPNG = '{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}';
var
CommonDlg: ICommonDialog;
AImage: IImageFile;
ImagePath: String;
begin
CommonDlg := CreateOleObject('WIA.CommonDialog') as ICommonDialog;
//Transfer as JPG
try try
AImage := CommonDlg.ShowAcquireImage(ScannerDeviceType,
ColorIntent, //or UnspecifiedIntent, GrayscaleIntent, TextIntent
MinimizeSize, //or MaximizeQuality
wiaFormatJPEG, //image format **