![]() |
|
|
![]()
|
|
| clown |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.12.2005 Репутация: нет Всего: нет |
Добрый вечер.
У меня возникла такая проблема… Я рисую линию на Image таким образом: кликаю мышю где-то на Image И тину линию туда, куда мне надо.
Проблема в том, что если под той линией которую я хочу нарисовать есть уже кокой-то рисунок, например круг зеленого цвета, то эта часть кода:
Зарисует белым цветом и этот круг((( Можно ли как-нибудь рисовать эту линию так чтоб рисунок что под ней не портился. Извините, если плохо описал свою проблему… Заранее благодарен Это сообщение отредактировал(а) clown - 5.12.2005, 14:59 Присоединённый файл ( Кол-во скачиваний: 14 )
temp.jpg 54,01 Kb |
||||
|
|||||
| Abrek |
|
|||
|
Unregistered |
Попробуй использовать два Имейджа. Вводи то, что не должно затираться во второй Image(невидимый). И при каждом выводе на первый Image, вначале копируй на него рисунок из второго, а потом рисуй свою линию. При этом затирать предыдущую линию не надо - она затрется сама тем рисунком, который у тебя в буфере(втором Image). Если не понятно - пиши, пришлю код. Но лучше попробуй сам.
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Надо использовать другую моду для рисования резиновой линии. Если не ошибаюсь - pmMask и тогда повторное проведение той же линии тем же цветом просто сотрет ее
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Гость_Амортизатор |
|
|||
|
Unregistered |
А вообще то не полагается так рисовать в обработчике. Отрисовывай всю картинку в обработчике WM_PAINT, затем при проведении новой линии заводи перемнную класса Line например (твоего), добавь его к остальным объектам (указатели на объекты можно хранить в TList). Затем обнови нужный прямоугольник InvalidateRect (Canvas->Handle, rect, false), где rect- прямоушольник, обрамляющий линию (находится из простых геометр. преобразований из толщины линии).
Но лучше конечно в данном случае в самом деле поменять цвет таким образом, чтобы стереть при повторном проведении. |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |