Изменение размера System.Drawing.Region - PullRequest
0 голосов
/ 10 ноября 2011

Я пишу приложение для рисования. Пользователь должен иметь возможность перемещаться со всеми объектами после того, как он нарисован или отредактирован. У меня есть инструмент кисти и стирания, так что пользователь может стереть весь или любую часть объекта, нарисованного кистью. Поэтому я создал объект DrawBrush, который содержит System.Drawing.Region из GraphicsPath.

Но я не знаю, как его измерить. Мне нужно изменить размер в каждом направлении отдельно при перемещении мыши (например, только влево)

Может ли кто-нибудь мне помочь?

Я могу сделать что-нибудь с этим объектом (движется), но без размеров ...

1 Ответ

2 голосов
/ 10 ноября 2011

Регион похож на забор - он просто выделяет границу области.Он не «содержит» никакой графики, поэтому изменение размера области не будет иметь прямого / видимого эффекта.

Если вы хотите иметь возможность перемещать или изменять размеры частей растрового изображения в вашем редакторе, вам потребуетсяскопируйте часть вашего основного изображения (как указано в вашем регионе) во временное растровое изображение.Затем вы можете нарисовать временное растровое изображение обратно в ваше основное изображение (в другом месте и / или в другом размере).

Если вы хотите иметь возможность рисовать несколько объектов в вашей программе рисования, а затем редактироватьпозже (перемещайте их и изменяйте их размер) независимо, затем вам нужно будет сохранить каждый из них в отдельном растровом объекте и объединить их вместе, чтобы отобразить окончательное изображение на экране или сохранить его в плоском растровом формате.Если вы не будете хранить все формы отдельно, как это, вы потеряете слишком много информации и не сможете редактировать их позже.

Прежде чем пытаться выработать, напишите код, чтобы сделать это,Возможно, вам придется подумать о дизайне вашего редактора - что он должен делать и как вы этого добьетесь?Как будет описан ваш «документ»?(Единственное растровое изображение - много маленьких растровых изображений, которые нарисованы в разных местах? Векторные пути?).Если вы напишите код до того, как поймете, как вы будете представлять документ, вы, скорее всего, загнали себя в угол (извините за каламбур) и полностью застряли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...