v8.x: Как получить информацию о изображении (высота, ширина, размер)? - 1С-ИнтеГрация

v8.x: Как получить информацию о изображении (высота, ширина, размер)?



Платформа 1С версии 8.х предоставляет слабые возможности по работе с изображением. 
Для работы с изображениями можно использовать библиотеку Windows Image Acquisition Automation Library. Библиотеку с описанием можно
 скачать здесь Windows 7 уже входит в состав дистриботива). 

После того, как загрузили архив, распакуйте. Саму библиотеку
 wiaaut.dll придется зарегистрировать командой regsvr32. После регистрации доступен COM-объект "WIA.ImageFile". Приведем пример работы: 

Код 1C v 8.х

 // Выбор файла

СтандартнаяОбработка = Ложь;

РежимДиалога = РежимДиалогаВыбораФайла.Открытие;

ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);

ДиалогВыбораФайла.МножественныйВыбор = Ложь;

ДиалогВыбораФайла.Заголовок = "Задайте имя файла";

ДиалогВыбораФайла.ПолноеИмяФайла = ПолеИмениФайла;

          

ДиалогВыбораФайла.Фильтр = "Все файлы картинок|*.jpg;*.jpeg;*.gif;*.bmp;*.ico;*.png;*.tif;*.*";

Если НЕ ДиалогВыбораФайла.Выбрать() Тогда

           // Если не выбран файл

           Возврат;

КонецЕсли;

          

ПолеИмениФайла = ДиалогВыбораФайла.ПолноеИмяФайла;

          

// Создаем объект

ФайлКартинка = Новый COMОбъект("WIA.ImageFile");

ФайлКартинка.LoadFile(ПолеИмениФайла);

 

Сообщить("Расширение файла: " + ФайлКартинка.FileExtension);

Сообщить("Высота: " + ФайлКартинка.Height);

Сообщить("Ширина: " + ФайлКартинка.Width);

Сообщить("Размер: " + Окр(ФайлКартинка.FileData.Count / 1024, 2) + " Кб");

  


Библиотека была протестирована на самых распространенных форматах файлов-картинок: jpeg, gif, bmp, ico, png, tif.
 
Здесь можно скачать готовую обработку:
 Скачать   
П
омимо данных о картинке, библиотека может многое другое: изменить размер изображения, повернуть, получить изображение со сканера и прочее. Надеюсь, мы еще вернемся к этой библиотеке. Источник



Назад в раздел