Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изменить кисть? 
V
    Опции темы
Xonxt
Дата 13.3.2007, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 24.1.2006
Где: Украина / Одесса

Репутация: 1
Всего: 1



Создаю простенький графический редактор.
Застопорился на одном этапе - странный узор кисти.  Я примерно понял, с чем это связано, т.к. рисование производится на основе DrawLine. А вот как это исправить?

Рисование происходит до безобразия просто:

Код

// ...
private Point lastpos;
private Pen mypen;
// ...
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
   Graphics gr = this.CreateGraphics();

   mypen = new Pen(clrDialog1.Color, trackBar1.Value); // цвет и размер кисти считывается с ColorDialog и трэкбара.
                    
   if(e.Button == MouseButtons.Left)
   {
      gr.DrawLine(mypen, lastpos.X, lastpos.Y, e.X, e.Y);
   }
   lastpos = new Point(e.X, e.Y);    
}


Рисунок кисти выходит вот таким (см аттач).

В общем, помогите советом, как это исправить!


Это сообщение отредактировал(а) Xonxt - 13.3.2007, 22:51

Присоединённый файл ( Кол-во скачиваний: 25 )
Присоединённый файл  pen.JPG 17,77 Kb
PM MAIL ICQ Skype   Вверх
Gelis
Дата 14.3.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.10.2006
Где: Брест

Репутация: 2
Всего: 4



Может так пойдет:
Код

private Point lastpos;    
private Pen mypen;    
// ...    
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)    
{    
   Graphics gr = this.CreateGraphics();    
   mypen = new Pen(clrDialog1.Color, trackBar1.Value); 
                     
   if(e.Button == MouseButtons.Left)    
   {    
      gr.DrawEllipse(mypen, new Rectangle(lastpos,new Size(trackBar1.Value,trackBar1.Value)));    
   }    
   lastpos = new Point(e.X, e.Y);     
}

PM MAIL   Вверх
Xonxt
Дата 14.3.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 24.1.2006
Где: Украина / Одесса

Репутация: 1
Всего: 1



Не..
Гм, я вроде бы разобрался. Нужно написать так (фдруг еще кто-нибудь столкнётся с проблемой):
Код

using System.Drawing;
using System.Drawing.Drawing2D;
// ....
private Pen mypen;
// ....

mypen.StartCap = LineCap.Round;
mypen.EndCap = LineCap.Round;


Всем спасибо )


Это сообщение отредактировал(а) Xonxt - 14.3.2007, 18:53
PM MAIL ICQ Skype   Вверх
Xonxt
Дата 16.3.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 24.1.2006
Где: Украина / Одесса

Репутация: 1
Всего: 1



Чтобы не создавать новую тему, спрошу здесь.

Как сделать объект типа Panel прозрачным? Т.е. чтобы фон её был прозрачным, но всё, что на ней написано/нарисовано всё равно было видно.

Это сообщение отредактировал(а) Xonxt - 16.3.2007, 17:13
PM MAIL ICQ Skype   Вверх
mr.DUDA
Дата 16.3.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Xonxt, 
Модератор: Пожалуйста, один топик - один вопрос.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.