• 0
Alex7wrt

Полигон

Вопрос

Здравствуйте.

Есть проблема с закрашиванием полигона каким-либо цветом. Скриншот прилагается:

 

1.jpg

 

Не пойму, в чем причина появления лучей от начальной точки. Цвет заливки определяется кодом:

with canvas do begin
    beginscene; 
    fill.Kind:=tbrushkind.Solid; stroke.Kind:=tbrushkind.None;
    fill.Color:=MakeColor(0,0,200,180); 
    FillPolygon(pol,1);
    endscene;
end;

Где в pol (TPolygon) заданы координаты точек, начиная с той, от которой на рисунке идут лучи, далее по рисунку вправо, и заканчивая двумя точками - нижним правым и нижним левым углами рисунка.

Изменено пользователем Alex7wrt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 ответа на этот вопрос

  • 0

Попробуйте задать

fill.Kind:=tbrushkind.Solid; stroke.Kind:=tbrushkind.None;
fill.Color:=MakeColor(0,0,200,180); 

до

beginscene;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Не помогает, но спасибо за совет!

 

UPD. Возникла идея - зачем указывать прозрачность в FillColor, если можно указать ее в FillPolygon. Так вот,
если не указывать прозрачность цвета в Fill.Color (то есть она равна 255), а в FillPolygon она равна 1, то рисует нормально, в остальных случаях - так, как на рисунке. То есть не получается задать прозрачность при отрисовке полигона без артефактов.

Изменено пользователем Alex7wrt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу