Текущий архив: 2009.06.07;
Скачать: CL | DM;
ВнизКак нарисовать на форме полупрозрачный полигон? Найти похожие ветки
← →
kostyl_kostyl (2009-04-21 15:29) [0]Добрый день. Скажите пожалуйста как нарисовать на форме полупрозрачный полигон, если на форме уже нарисован определенный рисунок. Необходимо, чтобы этот рисунок как бы просвечивался под нарисованным сверху полигоном. Заранее благодарю.
← →
clickmaker © (2009-04-21 16:13) [1]см. в сторону GDI+
← →
StriderMan (2009-04-21 16:48) [2]можно попробовать заполнить полигон такой маской:
TR_BMP := TBitMap.Create;
with TR_BMP do
begin
Width := 2;
Height := 2;
Canvas.Pixels[0, 1] := clNone;
Canvas.Pixels[0, 0] := clLtGray;
Canvas.Pixels[1, 0] := clNone;
Canvas.Pixels[1, 1] := clLtGray;
end;
← →
kostyl_kostyl (2009-04-21 17:18) [3]
> заполнить полигон
как это сделать?
← →
StriderMan (2009-04-21 17:22) [4]а полигон это что? какой класс?
← →
Григорьев Антон © (2009-04-21 17:30) [5]Делаете Bitmap такого размера, который гарантировано содержит ваш многоугольник и заполняете этот рисунок целиком нужным вам цветом. Потом с помощью CreatePlygonRgn и SelectClipRgn устанавливаете регион отсечения в виде вашего многоугольника. Выводите рисунок на форму с помощью функции AlphaBlend с нужной степенью прозрачности - цвет изменят только те пиксели, которые попадут в регион отсечения.
← →
kostyl_kostyl (2009-04-21 17:32) [6]
> а полигон это что? какой класс?
TCanvas.Polygon(const Points: array of TPoint);
← →
kostyl_kostyl (2009-04-21 17:36) [7]
> Григорьев Антон © (21.04.09 17:30) [5]
да наверно так и буду пробовать, ибо я делал тоже самое только самопалом - рисовал не все точки занимающие площадь верхнего полигона - долго...
← →
StriderMan (2009-04-21 17:37) [8]
> TCanvas.Polygon(const Points: array of TPoint);
тогдаsetrop2(Canvas.Handle, R2_MERGEPEN);
Canvas.Brush.Bitmap := TR_BMP;
Canvas.Polygon(...);
но сдается мне > Григорьев Антон © (21.04.09 17:30) [5] естественнее и правильнее, хотя и несколько сложнее
← →
kostyl_kostyl (2009-04-21 18:00) [9]
> Григорьев Антон ©
> StriderMan
спасибо все получилось...
Страницы: 1 вся ветка
Текущий архив: 2009.06.07;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c