|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Удалить линию с PaintBox
Здравствуйте!
Есть Image с загруженной пёстрой картинкой, поверх – PaintBox. На PaintBox рисую линии. Вопрос: Как стереть (удалить) линии на прозрачном PaintBox. Если бы был однородный фон, то можно было бы рисовать цветом фона для удаления линии, но здесь прозрачный фон. Pen.Style:=psClear не помогает. Неужели придётся рисовать через BitMap. Подозреваю, что есть какое-то простое решение, но мозги замылились и сообразить уже не могу. Помогите пожалуйста. Заранее благодарю. |
#2
|
|||
|
|||
В общем случае, удалить линию с PaintBox нельзя. Можно перерисовать его без этой линии. А более конкретно - зависит от конкретной задачи.
Вообще, класть Image, а поверх него PaintBox - не самое лучшее решение. Я делал немного подругому. В приложении к твоей задаче - как я ее понимаю - это будет так: - сама задача. На экране есть изображение некотороой загруженной картинки и пользователь рисует на ней какие-то фигуры. - решение. На фрме есть _только_ PaintBox. Картинка загружена в буферном битмапе. При рисовании пользамком запоминаем (в массиве, например) что он делает. Далее на еще одном буферном битмапе сначала отрисовываем картинку, а потом все действия пользователя. Дялее результат выводится на PaintBox. Можно отрисовывать сразу на PaintBox'е, но тогда возможно мерцание. Теперь с удалением - просто выбрасываем из списка действий соответсвующий элемент и отрисовываем все заного. Если размер битмапа разумный (ну примерно по размерам экрана), то никаких тормозов не будет. Более того, у меня в одном проекте в памяти хранится картинка с 8 мегапиксельной камеры. Так вот, отрисовка проходит мгновенно, никаких тормозов нет. И это не на самом быстром компьютере. Основные тормоза идут при загрузке следующей картинки. |
#3
|
|||
|
|||
Спасибо, я подозревал, что без буфера не обойтись, но подумал, что туплю и есть решение проще.
|