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

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

Ответить
Andreich
постоялец
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

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

Сообщение Andreich »

Вопрос : После выполнения отрисовки на Т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);
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Дополнение к ответу 1: В отличие от Delphi на Lazarus выше приведенная процедура может не заработать, как хотелось бы, без строки

Код: Выделить всё

...Canvas.Brush.Style:=bsSolid;
Ответить