Реализовать ластик в графическом редакторе

tick

Как сделать ластик в хорошем графическом редакторе . :))Расскажите нам. В графическом редакторе.

Графический редактор — подскажите, как в графическом редакторе реализовать такие функции, чтобы реализовать шкалы и ластики: стирать, увеличивать.

Геометрические фигуры в простом графическом редакторе Здравствуйте. Я пытаюсь создать простой графический редактор на C#. Я не могу найти решение.

tick

Алгоритм входа в графический редактор забрал графический редактор и добрался до Фила. Я совсем не знаю, как она.

389 / 304/67
Зарегистрирован: 10.07.2010
Опубликовано: 802

1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 16 18 18 19 20 20
Бухл.Температура= Ошибки; Частный Пустое местоform1_mousedown(ОбъектSender, MouseEventargs e) <Температура= Истина; > Частный Пустое местоform1_musemove(ОбъектSender, MouseEventargs e) < if (Температура== Истина) <Графика G.=Графика.из внд(Это.ручка); intразмер_пластика= 10; g.Fillellipse(Это размер новогоSolidBrush(Это.Backcoller), e.X -размер_пластика/ 2, e.Y -размер_пластика/ 2размер_из_пластика, размер_из_пластика); > > Частный Пустое местоform1_mouseup(ОбъектSender, MouseEventargs e) <Температура= Ошибки; >

Зарегистрирован: 12 марта 2011 г.
Отправлено: 145

Когда вы делаете набросок, когда я вместо залитой фигуры рисую новую, на месте этого круга появляются коренные пятна.

389 / 304/67
Зарегистрирован: 10.07.2010
Опубликовано: 802

Лично я не понял студийный экран хорошо или на словах. Это замечательно.

Зарегистрирован: 12 марта 2011 г.
Отправлено: 145
Но не пожалел, и моя банда, я забыл превратиться в людей, ATP нужна помощь! — )
Зарегистрирован: 25 февраля 2014 г.
Опубликовано 120.

Подскажите, пожалуйста, как работает код при выборе прямоугольной области? Мне нужно выделить область и удалить все, что я выделил, или закрасить ее белым цветом. Вот такие варианты.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 16 16 18 19 20 20 21 22 22 22 22 25 26 27 28 29 30 31 32 32 34 35 37 38 38 39 40 41 42 43 44 45 47 48 49 50 50 50 51 52 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 79
// Нажатие мыши L.K. (запоминание прямоугольной области начальных координат) Частный Пустое местоpicturebox1_mousedown_1(ОбъектSender, MouseEventargs e) < if (picturebox1.Курсор ==Курсор.Крест) <DrawRectangle= Истина;drawrectangle_mouse_x_start= e.Позиция.X;drawrectangle_mouse_y_start= e.Позиция.Y;drawrectangle_mouse_x_end= e.Позиция.X + 1;drawrectangle_mouse_y_end= e.Позиция.Y + 1; > if (picturebox1.Курсор ==Курсор.рука) <m_panstartpoint= Это размер новогоТочка.(e.X, e.Y); > > // Сдвиг мыши (+ конечные координаты) Частный Пустое местоpicturebox1_mousemove_1(ОбъектSender, MouseEventargs e) < if (picturebox1.Курсор ==Курсор.Крест && e.Кнопки мыши ==Кнопки мыши.Слева) <drawrectangle_mouse_x_end= e.Позиция.X;drawrectangle_mouse_y_end= e.Позиция.Y;picturebox1.Обновить(); > if (picturebox1.Курсор ==Курсор.рука && e.Кнопки мыши ==Кнопки мыши.Слева) < intDeltax; intDeltaTy;Deltax= (m_panstartpoint.X - e.X);Delta= (m_panstartpoint.Y - e.Y);вкладка1.Автоматическое положение ползания устройства = Это размер нового Система.Нарисовать.Пункт((Deltax-вкладка1.Автоматическое положение ползания устройства.X), (Deltai-вкладка1.Автоматическое положение ползания устройства.Y)); > >Рисует выделенный прямоугольникЧастный Пустое местоpicturebox1_pain_1(ОбъектSender, PaintEventargs e) < if (DrawRectangle) < intMousex; intМышь;Mousex=drawrectangle_mouse_x_end-drawrectangle_mouse_x_start;int Mousex=drawrectangle_mouse_y_end-drawrectangle_mouse_y_start; // Влево вверх и вниз if (Mousex 0 &&int Mousex 0) <rect= Это размер новогоПрямоугольник((Это размер новогоТочка.(drawrectangle_mouse_x_end, drawrectangle_mouse_y_end)), Это размер новогоРазмер(Система.Арифметика.Брюшные мышцы(Mousex), Система.Арифметика.Брюшные мышцы(Мышь.))); > // Вниз и вправо if (Mousex> 0 &&int Mousex> 0) <rect= Это размер новогоПрямоугольник((Это размер новогоТочка.(drawrectangle_mouse_x_start, drawrewgle_mouse_y_start)), Это размер новогоРазмер((Mousex), (Мышь.))); > // прямо сверху if (Mousex 0 &&int Mousex> 0) <rect= Это размер новогоПрямоугольник((Это размер новогоТочка.(drawrectangle_mouse_x_end, drawrectangle_mouse_y_start)), Это размер новогоРазмер(Система.Арифметика.Брюшные мышцы(Mousex)Mousex)); > // Вниз и влево if (Mousex> 0 &&int Mousex 0) <rect= Это размер новогоПрямоугольник((Это размер новогоТочка.(drawrectangle_mouse_x_start, drawrectangle_mouse_y_end)), Это размер новогоРазмер(Mousex,.Система.Арифметика.Брюшные мышцы(Мышь.))); > попробуйте < e.Графика.DrawRectangle(Ручка.ЧерныйПрямоугольник); > Поймать (Исключение.) < > > >

Добавить комментарий