Исследовать WIA меня заставила потребность автоматизции получения, обработки и размещения фотографий в 1С. Работа с изображениями, конечно, лежит вне принципиальных и важных задач системы автоматизации учета, но тем не менее желание научить 1С не только загружать/сохранять картинки, но и помочь пользователю с их обработкой рано или поздно приходит к большинству разработчиков.
Интересно то, что 1С не поддерживает даже самых простых средств обработки графических файлов, и восьмерка при всех ее новшествах отнюдь не стала графически более продвинутой по сравнению с клюшкой. Все те же загрузить - выгрузить и минимальные средства управления отображением на форме. Очевидно в эволюции от 7.7 до 8 потребность более сложной работы с графикой не являлась движущим фактором...
Традиционный путь преодоления врожденных ограничений 1С - использование внешних компонент. До сих пор вопрос о ВК дискуссионный, то есть разброс мнений от принципиально нет любым внешним модулям, до принципиально да на любой потребный чих разработчика. Я лично с осторожностью отношусь к непроверенным ВК с закрытым кодом и тем более никогда не посоветую использовать такую компоненту клиенту. Предпочитаю стабильные, заслужившие уважение коллег ВК-шки с мощным функционалом, ставшие уже определенным общепризнанным стандартным дополнением основной среды разработки.
Короче, не утомляя читателя и не собираясь с пеной у рта доказывать правильность моих взглядов на ВК, предлагаю к использованию набор из 5 инструментов для работы с графическими файлами.
1. Получение характеристик изображения (длина, ширина, расширение);
2. Обрезка изображения;
3. Поворот изображения;
4. Масштабирование изображения;
5. Наложение одного изображения на другое;
Все эти средства используют стандартную Windows библиотеку Windows Image Acquisition и требуют для работы собственно наличия данной операционной системы. Изначально писал инструменты под 8-ку, но так как семерка мной все еще любима и не менее ограничена в работе с графикой сделал перевод:)
Сами функции для обработки графики находятся во внешних обработках, которые демонстрируют примеры их работы. Обработки для 7.7 и 8.х абсолютно равнозначны по функционалу и даже типы файлов, которые можно редактировать и размещать на форме у них одинаковы (то есть 7.7 через WIA также умеет работать с png, tiff и другими форматами графических файлов).
Так как обработки предназначены для разработчиков (но если честно то в лом было) не писал практически никакой защиты от дураков, то есть при обрезке, превышающей размеры исходного изображения или повороте на угол не кратный 90 никаких предупреждений нет, просто позаботился о том чтобы процесс не обрывался при попытке выполнить невозможные действия. Думаю, что по месту применения разработчик сам встоит необходимые механизмы проверки адекватности параметров преобразования.
Ну вот, собственно, и все! Спасибо за внимание