![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканировать документ на сканере [D7]
ave © (2006-02-13 16:01:00)Как можно отсканировать документ на сканере и получить его изображение из программы.
Yozch1 (2006-02-13 21:57:00) [1]uses
...MultiTwain...
procedure TForm1.SelectImageSource(Sender: TObject);
begin
istochnik := TWAIN_SelectImageSource(0);
end;
procedure TForm1.scan(Sender: TObject);
var
jpg : TJpegImage;
mysizefile : Longint;
f : file of Byte;
// PInfo: PBitMapInfoHeader;
begin
if istochnik = 0 then
begin
istochnik := TWAIN_SelectImageSource(0);
if (istochnik = 0) then
exit;
end;
hdib := TWAIN_AcquireNative(0, 0);
n := TWAIN_GetNumDibs;
if n >= 1 then
begin
TestDib := TWAIN_GetDib(0);
Image1.Picture.Graphic := nil;
Image1.Width := TWAIN_DibWidth(hDib);
Image1.Height := TWAIN_DibHeight(hDib);
try
CopyDibIntoImage(TestDib, Image1);
except
{Обрабатываем наиболее вероятную ошибку связанную с не хваткой ресурсов
для загрузки изображения}
on EOutOFResources do
MessageDlg('TBitMap: Нет ресурсов для загрузки изображения!',
mtError, [mbOk], 0);
end;
TWAIN_FreeNative(TestDib);
TestDib := 0;
end;
if n = 2 then
begin
TestDib := TWAIN_GetDib(1);
CopyDibIntoImage(TestDib, Image1);
TWAIN_FreeNative(TestDib);
TestDib := 0;
end;
jpg := TJpegImage.Create;
jpg.Assign(Image1.Picture.Graphic);
jpg.SaveToFile(
chAppDataPath + 'images\' + RulezFileName(label12.Caption)
+
'.jpg'
);
jpg.Free;
// vrazmer(ExtractFilePath(ParamStr(0))+ 'images\'+label12.Caption+'.jpg');
AssignFile(f, chAppDataPath + 'images\' +
RulezFileName(label12.Caption) + '.jpg');
Reset(f);
mySizeFile := filesize(f);
StatusBar2.Panels[1].Text := '..\images\' + RulezFileName(label12.Caption) +
'.jpg';
StatusBar2.Panels[2].Text := intToStr(mySizeFile) + ' bytes';
CloseFile(f);
Label9.caption := '1';
end;
Maverick (2006-02-13 20:56:00) [2]поищи так же ImageEn, когда то с момощью этой компоненты сканил
Джо (2006-02-13 16:15:00) [3]Ищи модуль twain.pas.