Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Uservb
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 1
1

Редактор векторной графики

30.04.2015, 12:25. Просмотров 1092. Ответов 1
Метки нет (Все метки)

Не могу справиться с задачей.Условие:задача должна быть решена с помощью API функций.Редактор должен позволять изменять цвет фигур,толщину линий,заливка(это я сделал). Редактор должен позволять перемещать фигуры на плоскости и изменять их размеры(это сделать не могу). Пoмогите пожалуйста, заранее благодарен.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Option Explicit
 
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal crColor As Long) As Long
Private Declare Function FillRgn Lib "gdi32.dll" (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function OffsetRgn Lib "gdi32" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long
 
Private Sub ellip_Click()
Cls
Dim hRgn As Long, hBrush As Long
hBrush = CreateSolidBrush(cmnDial.Color)
hRgn = CreateEllipticRgn(30, 30, 200, 120)
FillRgn frmRed.hdc, hRgn, hBrush
OffsetRgn hRgn, 0, 20
End Sub
 
Private Sub Form_Load()
cmnDial.Color = vbBlack
End Sub
 
Private Sub rect_Click()
Cls
Dim hRgn As Long, hBrush As Long
hBrush = CreateSolidBrush(cmnDial.Color)
hRgn = CreateRectRgn(30, 30, 200, 120)
FillRgn frmRed.hdc, hRgn, hBrush
End Sub
 
Private Sub round_Click()
Dim hRgn As Long, hBrush As Long
Cls
hBrush = CreateSolidBrush(cmnDial.Color)
hRgn = CreateEllipticRgn(30, 30, 150, 150)
FillRgn frmRed.hdc, hRgn, hBrush
End Sub
 
Private Sub zaliv_Click()
cmnDial.ShowColor
End Sub
 
 
Private Sub kvad_Click()
Dim hRgn As Long, hBrush As Long
Cls
hBrush = CreateSolidBrush(cmnDial.Color)
hRgn = CreateRectRgn(30, 30, 150, 150)
FillRgn frmRed.hdc, hRgn, hBrush
End Sub
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2015, 12:25
Ответы с готовыми решениями:

редактор векторной графики VBA - Visual Basic
требования: -задача проекта должна быть решена с использованием API-функций Windows в среде Visual...

редактор векторной графики
доброе время суток. у меня есть задание - сделать редактор векторной графики на Flex'е. я написал...

Редактор векторной графики
Задумал написать простенький редактор блок-схем (нет, это не задание на курсовой).Столкнулся с...

Обратите внимание - Inkscape редактор векторной графики
Inkscape — открытый редактор векторной графики, функционально схожий с Illustrator, Freehand,...

Хранение векторной графики
Привет всем. Хочу узнать о том, каким образом можно сохранить нарисованные фигуры в самодельном...

1
The trick
Модератор
7781 / 2792 / 776
Регистрация: 22.02.2013
Сообщений: 3,940
Записей в блоге: 77
30.04.2015, 13:28 2
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Регионы - не векторные объекты и их нельзя масштабировать без потери качества. Используй напрямую рисование на DC или вообще стандартный объект Shape. Нужно завести тип/класс фигур и иметь массив/коллекцию этих фигур. Этот массив будет как слои, самый верхний объект будет в конце. Обрабатывай клики на поле и проверяй попадают ли в тот или иной объект клики начиная сверху.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2015, 13:28

? Возможно ли преобразование векторной графики в растровую?
Привет всем! Есть ли следующая возможность в Java - то, что нарисовано на экране с помощью,...

Программирование векторной графики в VBA(Word)
Здравствуйте!!! Помогите пожалуйста в решении следующей задачи: Надо написать программу, которая...

Сборка ПК от 3D САПР и рендаре до ФШ и векторной графики (100к с монитором)
Доброго дня! Прошу ознакомится со сборкой Цель: универсалтная рабочая лошадка, работа в области...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru