GGraphics - внешняя компонента для работы с картинками jpg (jpeg), png, bmp, gif, tif

Программирование - Внешние компоненты

148
Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

Проект имеет следующие премущества:

  1. Не требует установки на каждом компьютере, где будет осуществляться обработка картинок
  2. Прекрасно работает даже с большими изображениями
  3. Скорость работы выше примерно на 40%
  4. Имеет малое потребление памяти
  5. Может работать на сервере

Демонстрация работы

Общие сведения

GGraphics – внешняя компонента для работы с картинками из 1С. Может использоваться для конвертации из одного формата в другой, получения изображения из буфера обмена, изменения размера изображения, поворота (отражения), обрезки, получения размеров, добавления водяного знака, сжатия.

Поддерживаемые операционные системы:
Windows XP, Windows 7,8 (x86,x64), Windows Server (x86,x64)

Работает в режимах:
Толстый клиент, Тонкий клиент, Сервер

Поддерживается работа со следующими форматами:
В режиме открытия:

  • bmp
  • jpg
  • png
  • gif
  • tiff

В режиме сохранения:

  • bmp
  • jpg
  • png
  • tiff


Форматы «водяного знака»:

  • bmp
  • jpg
  • png
  • gif

Описание свойств и методов


Свойства:

РазмерИзображения/ ImageSize – размер текущего изображения в формате "Ширина"x"Высота"(например, 300x550). Тип: Строка - Только чтение
Ширина/Width – ширина текущего изображения. Тип: Строка - Только чтение
Высота/Height – высота текущего изображения. Тип: Строка - Только чтение
Формат/Format – формат текущего изображения. Тип: Строка - Только чтение
КоличествоКадров/FrameCount – количество кадров для gif и tiff. Тип: Число - Только чтение
ДвоичныеДанные/ BinaryData – файл в формате jpg без сжатия. Тип: ДвоичныеДанные - Только чтение
Base64 – файл в формате jpg без сжатия представленный в виде строки Base64. Тип: Строка - Чтение и запись
ОписаниеОшибки / ErrorDescription - в случае возникновения ошибки, содержит её описание.

Методы:

1) ПолучитьИзображение / GetImage – получает изображение для обработки (конвертации) из файла или буфера обмена.

Параметры:

  • ИмяФайла - имя открываемого для редактирования файла. Если имя файла пустое, то изображение берется из буфера обмена. Тип: Строка

2) ПолучитьДвоичныеДанные / GetBinaryData – возвращает двоичные данные изображения в указанном формате

Параметры:

  • ТипФайла – формат файла, в котором необходимо вернуть двоичные данные. Тип: Число

Принимает следующие значения:

  • 0 – bmp
  • 1 – jpg
  • 2 – png
  • 3 - tif

3) ПолучитьBase64 / GetBase64 – возвращает данные изображения в указанном формате в виде строки Base64

Параметры:

  • ТипФайла – формат файла, в котором необходимо вернуть данные ихображения. Тип: Число

Принимает следующие значения:

  • 0 – bmp
  • 1 – jpg
  • 2 – png
  • 3 – tif

4) ОбрезатьИзображение / CropImage – обрезает изображение на указанную величину.
Параметры:

  • Лево - количество пикселей (процентов), обрезаемых слева. Тип: Число
  • Право - количество пикселей (процентов), обрезаемых справа. Тип: Число
  • Верх - количество пикселей (процентов), обрезаемых сверху. Тип: Число
  • Низ - количество пикселей (процентов), обрезаемых снизу. Тип: Число
  • ВПроцентах – признак того, что все величины указаны в процентах. Тип: Булево (для 7.7 - 0 и 1) 

5) ОбрезатьПустыеКрая / CropEmptyBorders – обрезает пустые (прозрачные) края изображения.
Параметры:

  • Отступ - количество пикселей, оставляемых в качестве отступа. Тип: Число

6) ПовернутьИзображение / RotateImage – поворачивает (отражает) текущее изображение.

Параметры:

  • ОтразитьПоГоризонтали – признак того, что изображение необходимо отразить по горизонтали. Тип: Булево
  • ОтразитьПоВертикали - признак того, что изображение необходимо отразить по вертикали. Тип: Булево
  • Поворот – поворот изображения (-1 – на 90 градусов против часовой, 1 – на 90 градусов по часовой). Тип: Число

7) ИзменитьРазмерИзображения / ResizeImage – изменяет размер изображения.

Параметры:

  • Ширина – новая ширина для изображения. Тип: Число
  • Высота – новая высота для изображения. Тип: Число
  • Процент – процент на который изменяется размер (если число отрицательное – уменьшение изображения, если положительное - увеличение). Тип: Число
  • СохранятьПропорции – признак того, что при изменении размера необходимо сохранить пропорции изображения. Если указано, что необходимо сохранить пропорции, то методу передается только один из параметров (либо шинира, либо высота), а второй параметр принимает нулевое значение. Тип: Булево (для 7.7 - 0 и 1).

8) ДобавитьВодянойЗнак / AddWatermark – добавляет на текущее изображение «водяной знак».
Параметры:

  • ИмяФайла – файл, который будет использоваться в качестве водяного знака. Тип: Строка
  • Позиция – позиция на текущем изображении, где необходимо разместить водяной знак. Тип: Число

Принимает следующие значения:

0 – сверху слева
1 – сверху центр
2 – сверху справа
3 – по центру
4 – снизу слева
5 – снизу центр
6 – снизу справа

  • Прозрачность – процент прозрачности накладываемого изображения. Изменяется от 0 до 100. При 100 – изображение непрозрачно. Тип: Число

9) РазмытиеПоГауссу/ GaussianBlur – применяет к текущему изображению эффект «РазмытиеПоГауссу».
Параметры:

  • Радиус – радиус размытия от 0 до 500. Тип: Число

10) НерезкоеМаскирование/ UnsharpMask – применяет к текущему изображению эффект «Нерезкое маскирование».
Параметры:

  • Радиус – радиус размытия от 0 до 500. Тип: Число
  • Интенсивность – интенсивность эффекта от 0 до 500. Тип: Число
  • Порог – порог срабатывания от 0 до 255. Тип: Число

11) УвеличитьРезкость/ Sharpen – увеличивает резкость текущего изображения.
Параметры:

  • Интенсивность – интенсивность эффекта от 0 до 100. Тип: Число

12) СделатьЧерноБелым / CreateBlackAndWhite – делает текущее изображение черно-белым (оттенки серого)

Параметры: Нет

13) Сепия/ Sepia – применяет к текущему изображению эффект «Сепия».
Параметры:

  • Интенсивность – интенсивность эффекта от 0 до 255. Тип: Число

14) ЗаполнитьПрозрачность / FillTransparent – заполняет прозрачные участки текущего изображения заданным цветом.
Параметры:

  • R – интенсивность красного цвета от 0 до 255. Тип: Число
  • G – интенсивность зеленого цвета. Тип: Число
  • B – интенсивность синего цвета. Тип: Число
  • СохранятьПолупрозрачность – при заполнении полупрозрачные участки будут залиты указанным цветом, но степень их прозрачности будет сохранена. Тип: Булево

15) УстановитьЦветТекста / SetTextColor – задает цветовые параметры для текста, добавляемого на изображение методом ДобавитьТекст / AddText.

Параметры:

  • R – интенсивность красного цвета от 0 до 255. Тип: Число
  • G – интенсивность зеленого цвета. Тип: Число
  • B – интенсивность синего цвета. Тип: Число
  • A – интенсивность альфа-канала (прозрачность) от 0 до 255. Тип: Число

16) УстановитьПараметрыТекста / SetTextParams – задает параметры шрифта для текста, добавляемого на изображение методом ДобавитьТекст / AddText.

Параметры:

  • ИмяШрифта – имя шрифта, установленного в системе. Тип: Строка
  • РазмерШрифта – размер шрифта в пунктах. Тип: Число
  • Жирный – признак полужирного шрифта. Тип: Булево
  • Курсив – наклонный шрифт. Тип: Булево
  • Подчеркнутый –подчеркнутый шрифт. Тип: Булево

17) ДобавитьТекст / AddText – добавляет на текущее изображение заданный текст.

Параметры:

  • X – координата по X для добавляемого текста. Тип: Число
  • Y – координата по Y для добавляемого текста. Тип: Число
  • Текст – текст, добавляемый на изображение. Тип: Строка

18) УстановитьТекущийКадр / SetAvtiveFrame – меняет текущий активный кадр изображения (для форматов gif и tiff).

Параметры:

  • НомерКадраномер кадра изображения, который необходимо сделать активным. Тип: Число

19) СохранитьИзображения / SaveImage – сохраняет изображение в файл на диске.

Параметры:

  • ИмяФайла – имя файла для сохранения на диске. Тип: Строка
  • ТипФайла – формат сохраняемого файла. Тип: Число

Принимает следующие значения:

  • 0 – bmp
  • 1 – jpg
  • 2 – png
  • 3 - tif
  • Сжатие – степень сжатия для файлов формата jpg. Тип: Число
  • УдалятьОригинал – признак того, что необходимо удалить оригинальный файл. Требуется, например, при конвертации из одного формата в другой. Тип: Булево (для 7.7 - 0 и 1)

20) Закрыть / Close – высвобождает память, занимаемую текущим изображением.

 

Примеры кода

1) Обработка изображения на сервере

&НаСервере
Функция СоздатьМиниатюру(ИсходныйФайл, ВыходнойФайл)

	ВысотаМиниатюры = 100;

	ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаGGraphics", "Graphics", ТипВнешнейКомпоненты.Native);
			
	Если ПодключениеВыполнено Тогда					
		GGraphics = Новый("AddIn.Graphics.GGraphics");			
		GGraphics.ПолучитьИзображение(ИмяФайла);
		GGraphics.ИзменитьРазмерИзображения(0 , ВысотаМиниатюры, 0, Истина);
		GGraphics.СохранитьИзображение(ВыходнойФайл, 1, 100, Ложь);
		GGraphics.Закрыть();
	КонецЕсли;	
	
КонецФункции

 2) Обработка изображения на клиенте

&НаКлиенте
Функция ВозможноНанестиВодянойЗнак()

	РасположениеКомпоненты = "ОбщийМакет.КомпонентаGGraphics";
	ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(РасположениеКомпоненты, "Graphics", ТипВнешнейКомпоненты.Native);
			
	Если НЕ ПодключениеВыполнено Тогда					
		УстановитьВнешнююКомпоненту(РасположениеКомпоненты);
		ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(РасположениеКомпоненты, "Graphics", ТипВнешнейКомпоненты.Native);		
	КонецЕсли;	
	
	Возврат;
	
КонецФункции

&НаКлиенте
Процедура НанестиВодянойЗнак(ИмяФайла, ФайлВодяногоЗнака)

	Если ВозможноНанестиВодянойЗнак() Тогда
		GGraphics = Новый("AddIn.Graphics.GGraphics");			
		GGraphics.ПолучитьИзображение(ИмяФайла);
		GGraphics.ДобавитьВодянойЗнак(ФайлВодяногоЗнака, 3, 100);
		GGraphics.СохранитьИзображение(ИмяФайла, 1, 100, Ложь);
		GGraphics.Закрыть();
	КонецЕсли;

КонецПроцедуры

3) Обработка исключений

Попытка
   GGraphics.ПолучитьИзображение(ИмяФайла);
Исключение
   Сообщить(ОписаниеОшибки() + ": " + GGraphics.ОписаниеОшибки, СтатусСообщения.Внимание);
КонецПопытки

Демонстрационная версия


В демонстрационной версии продукта только одно ограничение - все получаемые изображения имеют по центру надпись "DEMO".

Техническая поддержка

Срок бесплатной технической поддержки составляет 12 месяцев, начиная с даты приобретения продукта.

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

148


Новый вопрос

E-mail*
Тема (вопрос)*

См. также