Избавляемся от артефактов на TImage.Canvas

Модератор: Модераторы

Избавляемся от артефактов на TImage.Canvas

Сообщение Andreich » 02.03.2009 15:58:02

Вопрос : После выполнения отрисовки на ТImage наблюдается наличие графических "артефактов" непонятного происхождения! Причем, если рисование производится на форме или в PaintBox, то все нормально!

Ответ : 1
Среда : Lazarus
Операционная система : любая
Зависимости : -
Источник : http://freepascal.ru/forum/viewtopic.php?f=5&t=3603
Теги : рисование, canvas, артефакты

Это остается «шум» канваса. Закрасьте предварительно канвас каким-то цветом:
Код: Выделить всё
Image1.Canvas.Brush.Color:=clWhite;
Image1.Canvas.FillRect(0, 0, Image1.Width, Image1.Height);

Или вот так:
Код: Выделить всё
Image1.Canvas.Brush.Color:=clWhite;
Image1.Canvas.FillRect(Image1.Canvas.ClipRect);
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Избавляемся от артефактов на TImage.Canvas

Сообщение Sharfik » 25.12.2013 14:54:03

Дополнение к ответу 1: В отличие от Delphi на Lazarus выше приведенная процедура может не заработать, как хотелось бы, без строки
Код: Выделить всё
...Canvas.Brush.Style:=bsSolid;
Sharfik
постоялец
 
Сообщения: 481
Зарегистрирован: 20.07.2013 01:04:30


Вернуться в Графика и мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru