1С8 пример. Изменяем размер изображения или картинки COM - объектом WIA.

C помощью COMОбъект("WIA.ImageProcess") и COMОбъект("WIA.ImageFile"), изменяем размер изображения или картинки.

WIA поддерживается начиная с Windows XP SP1 и старше.

Функциональность WIA: - фильтры, - обрезка, - масштабирование, - вращение, - редактирование метаданных (EXIF), - рамки, - манипуляция с цветом, - перевод из одного графического формата в другой

В частности свойства фильтров:

Масштабирование изображения до указанной максимальной ширины и максимальной высоты, с сохранением пропорции при необходимости.

MaximumWidth - Установить свойство MaximumWidth в значение ширины (в пикселях), до которой нужно масштабировать изображение.

MaximumHeight - Установить свойство MaximumHeight в значение высоты (в пикселях), до которой нужно масштабировать изображение.

PreserveAspectRatio - Установить свойство PreserveAspectRatio в значение True [по умолчанию], если нужно сохранить текущие пропорции изображения, в противном случае False, и изображение будет растянуто до максимальной ширины и максимальной высоты

FrameIndex - Установить свойство FrameIndex в значение индекса кадра, если нужно изменить кадр, который не является активным кадром, в противном случае 0 [по умолчанию]

Функция СоздатьФайлИзображенияРазмером(ПолноеИмяФайлаИзображенияИсточника,ПолноеИмяНовогоФайла,Ширина_Pix,Высота_Pix)
	
	tolog("СоздатьФайлИзображенияРазмером()");
		
	// создать объект-обработчик 
	если мWIA_ImageProcess = Неопределено тогда		
		мWIA_ImageProcess = новый COMОбъект("WIA.ImageProcess");
	КонецЕсли;	
	
	// создать объект-изображение
	если мWIA_ImageFile = Неопределено тогда		
		мWIA_ImageFile = новый COMОбъект("WIA.ImageFile");
	КонецЕсли;	
	
	// создаем фильтр - строка типа ""{4EBB0166-C18B-4065-9332-109015741711}""
	Filter = мWIA_ImageProcess.FilterInfos("Resize").FilterID ;	
	мWIA_ImageProcess.Filters.Add(Filter);
	
	// устанавливаем  свойства фильтра
	мWIA_ImageProcess.Filters(1).Properties("MaximumWidth").Value   = Ширина_Pix;
	мWIA_ImageProcess.Filters(1).Properties("MaximumHeight").Value  = Высота_Pix;
	
	// загружаем изображение
	мWIA_ImageFile.LoadFile(ПолноеИмяФайлаИзображенияИсточника);
	
	// применяем к нему фильтр 
	мWIA_ImageFile = мWIA_ImageProcess.Apply(мWIA_ImageFile);
	
	// сохраняем полученное изображение под другим именем
	мWIA_ImageFile.SaveFile(ПолноеИмяНовогоФайла);
	
	Возврат ПолноеИмяНовогоФайла;
	
КонецФункции


В конфигураторе:

Изменяем размер изображения или картинки COM - объектом WIA




Рекламный блок:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

Доработка и сопровождение 1С:

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Пишите: j008@j008.ru

Звоните: 8 916 710 83 51 Ольга