Буквально на днях встала задача программного размещения картинок в уже сформированной таблице, при этом картинки должны были быть с прозрачным фоном. Как результат изысканий появился данный класс - возможно кому-нибуть пригодится.
[b]Что может:[/b] Размещать в произвольном месте в таблице картинки с прозрачным фоном, с возможностью произвольного смещения картинки по оси X/Y, c возможностью поворота картинки на произвольный градус.
[b]Где использовать:[/b] [list][*]при вставке подписей и печатей [*]при вставке фирменных логотипов [*]для реализации корпоративного оформления документов [*]и т.д. [/list]
[b]Что используется:[/b] 1. [b]ВК TableDoc.dll[/b] - автор [b][i]Трапезников Дмитрий[/i][/b] ([b]trad[/b]) ([url]http://infostart.ru/public/20089/[/url]) - используется возможность добавления в таблицу произвольного количество OLE-объектов произвольных размеров (обязательно) 2. [b]ActiveX элемент управления bmp_1c.ocx[/b] (ActiveBMP) - автор [b][i]Морев Андрей[/i][/b] ([b]Z1[/b]) ([url]http://1c.proclub.ru/modules/mydownloads/personal.php?lid=2725&cid=111[/url]) - используется непосредственно для отображения картинок в таблице (обязательно) 3. [b]ActiveX GFLAx[/b] ([url]http://www.xnview.com/en/download_gfl.html[/url]) - для возможности произвольного поворота вставляемого изображения и конвертации входящего изображения в BMP (опционально)
При наличии GFLAx - входящий файл картинки может быть практически любого графического формата, иначе - только BMP.
[b]Свойства:[/b] [i]ЕстьПроизвольноеСмещение [/i] - использовать произвольное смещение при размещении объекта в таблицу (0 - нет; 1 - да); [i]ПроизвольноеСмещениеНач_X, ПроизвольноеСмещениеКон_X, ПроизвольноеСмещениеНач_Y, ПроизвольноеСмещениеКон_Y[/i] - границы в пикселях для произвольного смещения; [i]ЕстьПроизвольныйПоворот[/i] - использовать поворот на произвольный градус при размещении объекта в таблицу (0 - нет; 1 - да); [i]ПроизвольныйПоворотНач, ПроизвольныйПоворотКон[/i] - границы для ограничения градуса поворота;
[b]Методы: [/b] [i]ПодключитьТаблицу(Таб)[/i] - подключение таблицы к классу [list][*][i]Таб [/i]- объект типа "Таблица" [/list] [i]ДобавитьИзображение(Лево, Верх, Право, Низ, Путь, Тип)[/i] - добавление изображения в таблицу [list][*][i]Лево, Право, Верх, Низ[/i] - координаты добавиления изображения в таблицу (см. "тип") [*][i]Путь[/i] - путь к файлу изображения [*][i]Тип[/i] - тип системы координат: 0 - пиксельная; 1 - табличная; 2 - левый верхний угол задается в табличной системе, в "право,низ" - задается смещение относительно левого верхнего угла [/list]
Пример добавления в таблицу подписи с печатью[code] .... Таблица = СоздатьОбъект("Таблица"); //заполнение таблицы .... Таблица.Показать();
Печ = СоздатьОбъект("ИзображенияДляТаблицы"); Печ.ПодключитьТаблицу(Таблица); Печ.ЕстьПроизвольноеСмещение = 1;
Печ.ЕстьПроизвольныйПоворот = 0; Печ.ДобавитьИзображение(2,5,70,50,"C:\Подпись.gif",2);
Печ.ЕстьПроизвольныйПоворот = 1; Печ.ПроизвольныйПоворотНач = -15; Печ.ПроизвольныйПоворотКон = 15;
Печ.ДобавитьИзображение(300,150,430,280,"C:\Печать.gif",0);
[/code]
В примере видно, что для подписи используется произвольное смещение (по умолчанию - в пределах от -15 до +15 пикселей по осям X/Y), а для печати - произвольное смещение и произвольный поворот. В этом случае каждый раз при выполнении этого примера на выходе будет [i]уникальная[/i] картинка.
Возможно, у кого-нибуть есть предложения по улучшению функционала?
[b]Ссылка на ИС[/b] [url]http://infostart.ru/public/138263/[/url] (если у кого-то возникнут проблемы со скачиванием файла с ИС - пишите в личку)
|