Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

GDI+   Найти похожие ветки 

 
Кирилл_А   (2007-08-02 19:14) [0]

Скажите, а как в GDI+ использовать аналоги SetRop2.
2 полигона накладываются, у них есть общая часть, хочется ее нарисовать смешанным цветом.
SetRop2(DC,10) - помогало в GDI.
Спасибо.


 
Инс ©   (2007-08-02 19:19) [1]

Я бы лучше закрашивал полигоны кистью с альфаканалом. Смотрелось бы красиво :)


 
Rouse_ ©   (2007-08-02 21:44) [2]

Ты демки под GDI++ качал?


 
Кирилл_А   (2007-08-02 22:37) [3]

Да, но с полигонами, особенно с 2 - там не было.


 
Rouse_ ©   (2007-08-03 09:20) [4]

...\Alpha Blending Lines and Fills\Using Compositing Mode to Control Alpha Blending\

Procedure OnPaint(DC: HDC);
var
 bitmapGraphics, Graphics : TGPGraphics;
 Bitmap: TGPBitmap;
 redBrush, greenBrush, brush: TGPSolidBrush;
begin

 // Create a blank bitmap.
 Bitmap := TGPBitmap.Create(180, 100, PixelFormat32bppARGB);

 // Create a Graphics object that we can use to draw on the bitmap.
 bitmapGraphics := TGPGraphics.Create(bitmap);

 // Create a red brush and a green brush, each with an alpha value of 160.
 redBrush := TGPSolidBrush.Create(MakeColor(210, 255, 0, 0));
 greenBrush := TGPSolidBrush.Create(MakeColor(210, 0, 255, 0));

 // Set the compositing mode so that when we draw overlapping ellipses,
 // the colors of the ellipses are not blended.
 bitmapGraphics.SetCompositingMode(CompositingModeSourceCopy);

 // Fill an ellipse using a red brush that has an alpha value of 160.
 bitmapGraphics.FillEllipse(redBrush, 0, 0, 150, 70);

 // Fill a second ellipse using green brush that has an alpha value of 160.
 // The green ellipse overlaps the red ellipse, but the green is not
 // blended with the red.
 bitmapGraphics.FillEllipse(greenBrush, 30, 30, 150, 70);

 Graphics := TGPGraphics.Create(DC);

 Graphics.SetCompositingQuality(CompositingQualityGammaCorrected);

 // Draw a multicolored background.
 brush := TGPSolidBrush.Create(aclAqua);
 Graphics.FillRectangle(brush, 200, 0, 60, 100);
 brush.SetColor(aclYellow);
 Graphics.FillRectangle(brush, 260, 0, 60, 100);
 brush.SetColor(aclFuchsia);
 Graphics.FillRectangle(brush, 320, 0, 60, 100);

 // Display the bitmap on a white background.
 Graphics.DrawImage(bitmap, 0, 0);

 // Display the bitmap on a multicolored background.
 Graphics.DrawImage(bitmap, 200, 0);

 bitmapGraphics.Free;
 Bitmap.Free;
 redBrush.Free;
 greenBrush.Free;
 brush.Free;
 graphics.Free;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1188316241
Vlad Oshin
2007-08-28 19:50
2007.10.14
критерии научности


2-1189928872
DimDim
2007-09-16 11:47
2007.10.14
Лишняя запятая в запросе


6-1171288352
Pearled
2007-02-12 16:52
2007.10.14
Почтовый клиент через прокси


15-1190001542
Pazitron_Brain
2007-09-17 07:59
2007.10.14
Что вы делаете на работе?


15-1189279993
vasIZmax
2007-09-08 23:33
2007.10.14
Традиции программирования