Главная страница
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.023 c
3-1181297041
ValeXandr
2007-06-08 14:04
2007.10.14
Работа с QReport


15-1189862319
Comunicator
2007-09-15 17:18
2007.10.14
Реально ли по мобильному номеру


2-1190265993
Ohotnic
2007-09-20 09:26
2007.10.14
Три ComboBox и кнопка...


1-1186067664
Кирилл_А
2007-08-02 19:14
2007.10.14
GDI+


15-1189550634
iZEN
2007-09-12 02:43
2007.10.14
Россия испытала самую мощную в мире вакуумную бомбу