[GDI+] - Рисуем программно в 1С

26.06.09

Разработка - Работа с интерфейсом

ActiveX-компонента для рисования в 1С.

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

Наименование Файл Версия Размер
-
.1241528369 19,58Kb
1105
.1241528369 19,58Kb 1105 Скачать бесплатно
Пример работы с компонентой из 1С 7.7
.1243615943 7,00Kb
253
.1243615943 7,00Kb 253 Скачать бесплатно

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

и зарегистрировать компоненту в Windows - запустить reg.bat
(для удаления информации о компоненте в Windows - запустить unreg.bat)

*** Добавление на форму 1С:

v7: Использовать 1С++ и FormEx
v8: Меню "Форма" - "Вставить ActiveX..." - Выбрать элемент "Душелов.GDI"

*** Методы:
 
  *** Основные:
  
  - НоваяКартинка(Ширина, Высота); //создает новую картинку с заданной шириной и высотой
  - Очистить(Цвет); //Очищает всю поверхность рисования и выполняет заливку поверхности указанным цветом фона.
  - СкопироватьСЭкрана(ИсточникХ, ИсточникY, НазначениеХ, НазначениеY, Размер); //Выполняет передачу данных о цвете блоками битов с экрана на поверхность рисования объекта. 
  //Размер - объект типа "Размер"
  - ЗагрузитьКартинку(Файл);
  - СохранитьКартинку(Файл, ФорматФайла); //ФорматФайла - строка (bmp, emf, exif, gif, icon, jpg, memorybmp, png, tiff)
  - ОчиститьПамять();


  *** Создание элементов:

  - СоздатьПеро(Цвет, Ширина); //создает объект типа "Перо". 
  //Цвет - объект типа "Цвет"  
  - СоздатьКисть(r, g, b); //создает объект типа "Кисть" заданного цвета
  //r, g, b - числа
  - СоздатьШрифт(Название, Размер, Стиль); //создает объект типа "Шрифт". 
  //Название - имя шрифта, размер - число, стиль - строка с описанием шрифта, разделенные "|" (bold, italic, strikeout, underline) 
  - ПолучитьЦвет(r, g, b); //создает объект типа "Цвет". 
  //r, g, b - числа
  - СоздатьТочку(х, у); //создает объект типа "Точка". 
  //х, н - координаты
  - СоздатьМассивТочек(Размер); //создает объект типа "Точки". 
  //Размер - число, размер массива
  - УстановитьТочкуВМассив(Точки, Индекс, Точка); //
  //Точки - объект типа "Точки", Индекс - число, Точка - объект типа "Точка"
  - СоздатьИконку(Файл); //создает объект типа "Иконка" из файла
  - СоздатьКартинку(Файл); //создает объект типа "Картинка" из файла
  - СоздатьПрямоугольник(х, у, Ширина, Высота); //создает объект типа "Прямоугольник". 
  - СоздатьРазмер(Ширина, Высота); //создает объект типа "Размер". 

  *** Рисование:

  - РисоватьЛинию(Перо, х1, у1, х2, у2); //Рисует линию между двух точек
  - РисоватьЛинии(Перо, Точки); //Рисует набор сегментов линии, которые соединяют массив точек
  - РисоватьДугу(Перо, Прямоугольник, НачальныйУгол, Угол); //Рисует дугу, которая является частью эллипса, заданного прямоугольником
  //НачальныйУгол - Угол (в градусах), который измеряется по часовой стрелке, начиная от оси X и заканчивая начальной точкой дуги.
  //Угол - Угол (в градусах), который измеряется по часовой стрелке, начиная от значения параметра НачальныйУгол и заканчивая конечной точкой дуги. 
  - РисоватьКривуюБезье(Перо, x1, y1, x2, y2, x3, y3, x4, y4); //Строит кривую Безье, определяемую четырьмя упорядоченными парами координат, которые представляют собой точки.
  - РисоватьКривыеБезье(Перо, Точки); //Рисует последовательность кривых Безье из массива точек
  - РисоватьСтроку(Строка, Шрифт, Кисть, х, у); //Создает указываемую текстовую строку в заданном месте
  - РисоватьМногоугольник(Перо, Точки); //Рисует многоугольник, определяемый массивом точек
  - РисоватьЗамкнутуюКривую(Перо, Точки); //Строит замкнутую фундаментальную кривую, определяемую массивом точек
  - РисоватьКривую(Перо, Точки); //Строит фундаментальную кривую через точки указанного массива точек
  - РисоватьЭллипс(Перо, Прямоугольник); //Рисует эллипс, определяемый ограничиваемым прямоугольником
  - РисоватьИконку(Иконка, х, у); //Формирует изображение, представленное указанным объектом Icon, расположенным по указанным координатам.
  - РисоватьИконкуБезРастягивания(Иконка, Прямоугольник); //Формирует изображение, представленное указанным объектом Иконка без его масштабирования.
  - РисоватьКартинку(Картинка, х, у); //Рисует заданное изображение, используя его исходный фактический размер, в месте, задаваемом парой координат.
  - РисоватьКартинкуБезМасштабирования(Картинка, Точка); //Рисует заданное изображение в заданном месте, используя его исходный фактический размер.
  - РисоватьКартинкуБезМасштабированияСОбрезанием(Картинка, Прямоугольник); //Рисует заданное изображение без масштабирования и при необходимости обрезает его, чтобы оно вмещалось в указываемом прямоугольнике.
  - РисоватьСектор(Перо, Прямоугольник, НачальныйУгол, Угол); //Рисует сектор, определяемый эллипсом, заданным структурой Rectangle и двумя радиальными линиями.
  //НачальныйУгол - Угол (в градусах), который измеряется по часовой стрелке, начиная от оси X и заканчивая первой стороной сектора.
  //Угол - Угол (в градусах), который измеряется по часовой стрелке, начиная от значения параметра НачальныйУгол и заканчивая второй стороной сектора
  - РисоватьПрямоугольник(Перо, Прямоугольник); //Рисует прямоугольник

  *** Заливка:

  - ЗаполнитьЗамкнутуюКривую(Кисть, Точки); //Заполняет внутреннюю часть замкнутой фундаментальной кривой, определяемой массивом точек
  - ЗаполнитьЭллипс(Кисть, Прямоугольник); //Заполняет внутреннюю часть эллипса, определяемого ограничивающим прямоугольником
  - ЗаполнитьСектор(Кисть, Прямоугольник, НачальныйУгол, Угол); //Заполняет внутреннюю часть сектора, определяемого эллипсом, который задан прямоугольником, и двумя радиальными линиями.
  //НачальныйУгол - Угол (в градусах), который измеряется по часовой стрелке, начиная от оси X и заканчивая первой стороной сектора.
  //Угол - Угол (в градусах), который измеряется по часовой стрелке, начиная от значения параметра НачальныйУгол и заканчивая второй стороной сектора
  - ЗаполнитьМногоугольник(Кисть, Точки); //Заполняет внутреннюю часть многоугольника, определяемого массивом точек
  - ЗаполнитьПрямоугольник(Кисть, Прямоугольник); //Заполняет внутреннюю часть прямоугольника

*** События:

  - ПриНажатииКнопкиМышки(Кнопка, X, Y);
  - ПриДвиженииМышкой(Кнопка, X, Y);
  - ПриОтжатииКнопкиМышки(Кнопка, X, Y);
  - ПриШелчкеМышкой(Кнопка, X, Y);
  - ПриДвойномШелчкеМышкой(Кнопка, X, Y);

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61793    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54399    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16695    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10735    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9609    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3665    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12078    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
99. xKIA 25.04.11 08:54 Сейчас в теме
Alex_Sun пишет:

А эта компонента позволяет програмно узнать текущий цвет какой либо определенной точки рисунка?

Поддерживаю. Требуется сделать свой фильтр, как в фотошопе, для этого надо получать триаду цветов изображения, как это можно сделать?
100. Feb 31.05.11 14:25 Сейчас в теме
Подскажите, есть метод РисоватьСтроку который создает указываемую текстовую строку в заданном месте и отображает ее горизонтально. Мне нужно строку развернуть и отобразить вертикально. Как это можно выполнить с помощью данной компоненты?
101. vladkand 06.06.11 10:27 Сейчас в теме
а пример использования в 8-ке с самого начало приведите, пожалуйста...
102. vladkand 06.06.11 14:09 Сейчас в теме
а как можно распечатать нарисованный таким образом в 8-ке чертеж?
103. Feb 07.06.11 08:58 Сейчас в теме
На первый свой вопрос не получил ответ, а вот на второй может хоть получу:
Как узнать размер изображения?
104. krasavcheg 28.11.11 11:28 Сейчас в теме
Можно ли это использовать в 1С 8.2 в управляемой форме, а потом выводить как-то на печать?
Если можно в примере пожалуйста!!!
Очень нужная компонента!!! Спасибо большое за то что написал её! Плюс поставил )))
105. aximo 2027 18.12.11 22:19 Сейчас в теме
Всегда восхищаюсь вашими программами
106. GSA3D 23.01.12 14:22 Сейчас в теме
А как масштабировать картинку?

Тоже очень хотелось бы подробного описания функций.
Хоть на английском.
108. rboy 19.05.12 14:31 Сейчас в теме
Отличная компонента, использую до сих пор. Единственно не работает она в Windows 7(64-bit). Не планируешь сделать аналогичную вещь для управляемого приложения?
SiAl; COMPER; +2 Ответить
109. bsa28000 04.07.14 10:41 Сейчас в теме
(108) rboy, так и не решено еще?
110. rboy 28.08.14 23:01 Сейчас в теме
111. rboy 23.09.14 11:02 Сейчас в теме
Проверил на Windows 2008 R2 (x64), Платформа 1С 8.3.5 (Обычное приложение) - Работает
112. Andry.Boris 59 08.10.15 13:31 Сейчас в теме
Под управляемой формой не получается инициализировать компоненту, под обычной работает нормально. х64 встала без проблем. Хорошо бы примерчик у кого получилось выложил бы. Есть пример для вставки ActiveX плеера. работает на ура. А вот прикрутить данный компонент не получилось...
113. Anthon 230 02.12.18 07:58 Сейчас в теме
Компонента больше не работает? Всё регится, но в списке компонент ActiveX в конфигураторе ничего не появляется... Платформа последняя, 8.3.13 х64, винда 7 х64, фреймворк есть
114. zk96 22.12.18 13:19 Сейчас в теме
(113) Возможно проблема в том, что у вас на win64 стоит фреймворк для Win32.
Не помню, где можно скачать, но если нужно, вот ссылочка google drive
Оставьте свое сообщение