Рисование на Image.Canvas ... Наличие "артефактов"!

Вопросы программирования и использования среды Lazarus.

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

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

Рисование на Image.Canvas ... Наличие "артефактов"!

Сообщение Andreich »

Столкнулся со следующей проблемой: нужно нарисовать что-либо на компоненте TImage, (например отрезок линии)

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.MoveTo(10,10);
Image1.Canvas.LineTo(50,50);
end;

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

Кто-нибудь сталкивался с подобным?!

P.S. Ubuntu 8.04.1 + Lazarus 0.9.24 (gtk2)
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Это остается шум канваса. Закрасьте предварительно канвас каким-то цветом:

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

  Image1.Canvas.Brush.Color := clWhite;
  Image1.Canvas.FillRect(0, 0, Image1.Width, Image1.Height);
    Image1.Canvas.MoveTo(10,10);
    Image1.Canvas.LineTo(50,50);
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

удобнее Image1.Canvas.FillRect(Image1.Canvas.ClipRect); ^_^ К сути претензий не имею ^_^
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Для того и форум. Спасибо:)
Ответить