![]() |
|
|
![]()
|
|
| evgovs1991 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 9.10.2014 Репутация: нет Всего: нет |
Не получается рисовать динамически эллипс...ка исправить?
UGrEdit.h
UGrEdit.cpp
|
||||
|
|||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Прежде чем рисовать новый эллипс вы долны стереть старый. Это можно сделать либо сохранением BitMap перед рисованием и восстановлением перед каждым новым рисованием эллипса, либо 2х кратным рисованием эллипса в режиме XOR (что бы 2е рисование того же самого эллипса его удаляло)
|
|||
|
||||
| evgovs1991 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 9.10.2014 Репутация: нет Всего: нет |
решил проблему с рисованием эллипса динамически....но мне нужно рисовать неограниченное количество эллипсов как в paint
Добавлено через 2 минуты и 8 секунд
а как хранить временное изображение эллипса и где лучше? Добавлено через 13 минут и 30 секунд Вот что получается когда много эллипсов |
||||
|
|||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Лучше не хранить - будут большие тормоза А для того, что бы элипсы были не такие рваные, можно в процессе рисования использовать pmNotXor, а когда рисование закончилось (пользователь отпустил кнопку мыши) стирать элипс (тем же pmNotXor), а потом рисовать конечную версию обычным pmCopy (или как он там называется) |
|||
|
||||
| evgovs1991 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 9.10.2014 Репутация: нет Всего: нет |
Это помогло но мне надо рисовать не один эллипс а много...как отпускаю кнопку мыши то рисуется эллипс..но если рисую заново то старый стирается вот поэтому и спрашиваю как хранить а потом вставлять изображение |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Это почему? Он должен остаться на канве Image3, и с момента отпускания клавиши мыши он станет фоновым рисунком, поверх которого вы будете рисовать новые элипсы. Проверьте обработчики. У вас первое Xor рисование должно быть в обработчике MouseDown, 2 штуки в MouseMove и заключительные Xor и Сopy в MouseUp |
|||
|
||||
| evgovs1991 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 9.10.2014 Репутация: нет Всего: нет |
всё исправил теперь работает
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |