gifts2017

V82Jpeg - Компонента обработки изображений

Опубликовал Игорь Кисиль (IgorKissil) в раздел Программирование - Внешние компоненты

Работа с изображениями: преобразование форматов, сжатие/расширение, простейшие операции редактирования, чтение атрибутов фотографий и их классификация по параметрам съемки - все это только из 1С без установки дополнительного софта.

Основное назначение компоненты: приведение к единому стандарту каталогов изображений. Проблема увеличения базы при размещении в ней фотографий известна давно. При массовой загрузке изображений в 1С мало кто из пользователей будет тратить время на их сжатие и приведение к единому стандарту. Все это можно запрограммировать с помощью предлагаемой компоненты. Приведем типичные примеры использования:

  • Каталог товаров в интернет-магазине. Если картинки связаны со справочником номенклатуры и хранятся локально (в базе 1С или во внешней папке - это не имеет значения), 1С занимается их загрузкой на сайт. При этом требуется стандартизация изображений: единые размеры, форматы (png или gif). Компонента сама в состоянии преобразовывать картинки
  • Хранение фотографий сотрудников в кадровом учете. После загрузки/сканирования/фотографирования нового сотрудника, 1С сама сожмет фотографию до нужного размера, развернет ее, если снимок расположен боком, устранит эффект "красных глаз", создаст эскиз для использования в 1С или выгрузки в Active directory
  • Ведение каталогов фотографий. Компонента может читать любые атрибуты снимков (exif) с последующей классификацией их в 1С по параметрам съемке, фотокамере, месту съемки и.т.п.

Приложение реализовано в виде внешней компонента NativeAPI, основной режим работы - на сервере 1С:Предприятия в операционной системе Windows. Доступны 32х и 64х разрядные версии. 32х разрядная версия может работать на стороне клиента, но в этом случае будет недоступен WEB интерфейс 1С:Предприятия. Вместе с компонентой поставляется небольшая конфигурация для 1С:Предприятия 8.3 с примером ее использования: "Фотоальбом (управляемое приложение)".

Демо-версия компоненты ограничена размером обрабатываемых изображений (не более 640 пикселей по любой стороне), также во время выполнения некоторых операций введены искусственные задержки по времени.

 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
V82Jpeg - Компонента обработки изображений (демо-версия)
.zip 1,60Mb
28.02.15
24
.zip 1,60Mb 24 Бесплатно
V82Jpeg - Компонента обработки изображений
28.02.2015
10000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Шкураев (salexdv) 27.02.15 12:33
2. Александр Шкураев (salexdv) 27.02.15 12:51
Что-то странная у вас конфигурация.
1) Модуль "РаботаСИзображениями" содержит код
ПодключитьВнешнююКомпоненту("D:\WProg\V8Jpeg\Debug\V8JpegNative.dll","V82Jpeg",ТипВнешнейКомпоненты.Native);

А сами компоненты лежат в макетах
2) Модуль "РаботаСИзображениями" работает только на сервере
3) На клиенте компонента никак не устанавливается, хотя должен вызываться метод "УстановитьВнешнююКомпоненту"
4) Чтобы компонента установилась на клиенте, её надо положить в zip, а у вас в макетах dll
В общем так и не удалось попробовать.
3. Игорь Кисиль (IgorKissil) 27.02.15 16:45
Компонента только для Windows, это есть в анонсе. В демо-версии действительно остался "мусор" от тестирования, вечером ее заменю. В релизе все в порядке.
Продается внешняя компонента, конфигурация лишь пример ее использования. Если нужно подключать на клиенте, пожалуйста подключайте в своих конфигурациях.
4. Алексей Белоусов (AllexSoft) 27.02.15 17:01
Ну типа это и без всяких модулей и DLLок делать можно: вот например поворот картинки
	Функция ПовернутьКартинкуНаСервере(ДД, УголПоворота)	
		ВрФайл = ПолучитьИмяВременногоФайла(".bmp");
		ДД.Записать(ВрФайл);	
		//Ресайз файла картинки
		
		Image = Новый COMОбъект("WIA.ImageFile");
		Image.LoadFile(ВрФайл);
		
		Если Image = Неопределено Тогда
			Возврат ДД;
		КонецЕсли;
		
		IP = Новый COMОбъект("WIA.ImageProcess"); //создаем объект WIA для редактирования изображения
		IP.Filters.Add(IP.FilterInfos("RotateFlip").FilterID);
		IP1 = IP.Filters(1);
		Для К = 1 По IP1.Properties.Count Цикл
			Если IP1.Properties(К).Name = "RotationAngle" Тогда
				IP1.Properties(К).Value = УголПоворота; //вертеть можно на 90,180 и 270 грудосов
				Прервать;
			КонецЕсли;
		КонецЦикла;
		
		Image = IP.Apply(Image);
		УдалитьФайлы(ВрФайл);
		Image.SaveFile(ВрФайл);
		
		К = Новый ДвоичныеДанные(ВрФайл);
		
		УдалитьФайлы(ВрФайл);
		
		Возврат К;
		
	КонецФункции 
...Показать Скрыть
5. Николай Терновой (ojiojiowka) 27.02.15 18:58
Использование компоненты предпочтительнее для тиражных решений, чтобы быть уверенным, что у клиентов все тоже будет работать. Интересует вопрос лицензирования с целью использования в тиражируемом решении.
6. Василий Коровин (vasyak319) 27.02.15 19:20
(5) Иметь ОС не ниже Windows XP (а это всё, что нужно, чтобы работал WIA) вроде бы не такое экзотичное требование для тиражного решения.
7. Игорь Кисиль (IgorKissil) 28.02.15 09:10
(4) AllexSoft,
Тиражное решение должно работать везде, где работает 1С. Развитие компоненты планируется на Linux. Как будете поступать Вы? Кроме того, есть подозрение, что компонента работает быстрее как минимум из-за того, что может возвращать изображение в виде двоичных данных прямо из буфера графического движка, а в вашем примере все делается через временный файл. Но проверить не удалось, т.к. Ваш код не понимает 1С, из-за строки: IP1 = IP.Filters(1)
8. Алексей Белоусов (AllexSoft) 02.03.15 10:01
(7) IgorKissil, хз у меня понимает все) писалось под себя разумеется, возможно и не универсально, кинул просто как пример )
Развитие компоненты планируется на Linux. Как будете поступать Вы?

согласен, если развитие компоненты планируется кросплатформенное решение то очень хорошее решение было бы!
Но пока у вас в статье нашел только:
основной режим работы - на сервере 1С:Предприятия в операционной системе Windows. Доступны 32х и 64х разрядные версии.
9. Евгений Маляров (unpete) 12.09.15 21:02
(3) IgorKissil, В чем преимущества использования компоненты по сравнению с ImageMagick, который, как известно, представляет собой консольный графический редактор с набором инструментов a-la photoshop, работает под всеми популярными os и даже входит в дистрибутивы linux?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа