*** Для работы компоненты потребуется установленный 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);