Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> графический редактор 
:(
    Опции темы
Grig
Дата 26.12.2005, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте! Мне тут в задаче понадобилось что-то вроде графического редактора, и с первая проблема, с которой я столкнулся. Например надо нарисовать линию. Пользователь выбирает инструмент линию, щелкает на канвасе мышкой и перетаскивает мышку, куда ему вздумается:
Код

//сначала сотрем прошлую линию
PaintBox1.Canvas.Pen.Color:=clBtnFace ;
PaintBox1.Canvas.MoveTo(coor_x,coor_y);
PaintBox1.Canvas.LineTo(a,b);
//а теперь нарисуем новую
PaintBox1.Canvas.Pen.Color:=clblack;
PaintBox1.Canvas.MoveTo(coor_x,coor_y);
PaintBox1.Canvas.LineTo(x,y);
a:=x;
b:=y;


Вроде все удачненько. Но стоит пользователю начать рисовать вторую то при пересечении первой линии, она стирается из-за этой строчки:
Код

PaintBox1.Canvas.Pen.Color:=clBtnFace ;

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


--------------------
        
PM MAIL ICQ   Вверх
Snowy
Дата 26.12.2005, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Установи другой Pen.Mode. Например pmMerge или pmXor.
Рисуй тем же цветом - не меняй, а просто рисуй по оому же месту.
Для первого варианта стирай pmNotMerge, для второго тем же pmXor.
PM MAIL   Вверх
Grig
Дата 11.1.2006, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А может где-нибудь есть готовые исходники графического редактора?
Которые можно доработать и т.д... Кто знает?


--------------------
        
PM MAIL ICQ   Вверх
VAVII
Дата 11.1.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если пишешь на Delphi, то в поставку с ней входит куча экзамплов!
Смотри в *Папка с Дельфей*\Demos\Doc\Graphex\!
PM MAIL   Вверх
Snowy
Дата 11.1.2006, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



PM MAIL   Вверх
Grig
Дата 12.1.2006, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



O, ja, ja!! Kemska volost'!! Ja!


--------------------
        
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




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


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

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