Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Процедура Сканировать(ИмяФайла)
- перем ч,м,с;
- wiaFormatGIF="{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}";
- wiaFormatJPEG="{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";
- wiaFormatTIFF="{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}";
- wiaFormatPNG="{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}";
- Попытка
- DevMan=CreateObject("WIA.DeviceManager");
- Исключение
- Предупреждение("На данном компьютере не установлена библиотека wiaaut.dll. Работа со сканнером невозможна.");
- Возврат;
- КонецПопытки;
- CommDlg=CreateObject("WIA.CommonDialog");
- ЕстьСканнер=0;
- For i=1 to DevMan.DeviceInfos().Count() Do
- If DevMan.DeviceInfos(i).Type=1 Then
- //нашли сканнер. Ура.
- Dev=DevMan.DeviceInfos(1).Connect();
- ЕстьСканнер=1;
- Прервать;
- EndIf;
- EndDo;
- Если ЕстьСканнер=0 Тогда
- Предупреждение("Не удалось найти сканнер.");
- Возврат;
- КонецЕсли;
- МаксВысотаДм=Dev.Properties("3075").Value/1000;
- DPI=300;
- Dev.Items(1).Properties("6146").Value = 4; //4 is Black-white,gray is 2, color 1 (Color Intent)
- Dev.Items(1).Properties("6147").Value = DPI; //dots per inch/horizontal
- Dev.Items(1).Properties("6148").Value = DPI; //dots per inch/vertical
- Dev.Items(1).Properties("6151").Value = 8.27 * DPI; //horizontal exent. many scanners have max size of 8.5 by 11
- Dev.Items(1).Properties("6152").Value = МаксВысотаДм * DPI; //vertical extent
- Img=CreateObject("WIA.ImageFile");
- Img=CommDlg.ShowTransfer(Dev.Items(1),wiaFormatJPEG,0);
- //конверсия в GIF...
- IP = CreateObject("Wia.ImageProcess");
- IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
- IP.Filters(1).Properties("FormatID").Value = wiaFormatGIF;
- Img = IP.Apply(Img);
- Img.SaveFile(ИмяФайла);
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement