• Welcome to Jose's Read Only Forum 2023.
 

GDI+: GdipCloneBrush

Started by José Roca, June 22, 2008, 01:15:40 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca



The following example creates a solid brush, clones it, and then uses the clone to fill a rectangle.

C++


VOID Example_Clone(HDC hdc)
{
   Graphics graphics(hdc);
   // Create a SolidBrush object.
   SolidBrush solidBrush(Color(255, 255, 0, 0));
   // Create a copy of solidBrush.
   Brush *cloneBrush = solidBrush.Clone();
   // Use cloneBrush to fill a rectangle.
   graphics.FillRectangle(cloneBrush, Rect(0, 0, 100, 100));
}


PowerBASIC


SUB GDIP_CloneBrush (BYVAL hdc AS DWORD)

   LOCAL hStatus AS LONG
   LOCAL pGraphics AS DWORD
   LOCAL pBrush AS DWORD
   LOCAL pCloneBrush AS DWORD
   LOCAL pixelColor AS DWORD

   hStatus = GdipCreateFromHDC(hdc, pGraphics)

   ' // Create an ARGB color
   pixelColor = GDIP_ARGB(255, 255, 0, 0)

   ' // Create a SolidBrush
   hStatus = GdipCreateSolidFill(pixelColor, pBrush)

   ' // Create a clone of the SolidBrush
   hStatus = GdipCloneBrush(pBrush, pCloneBrush)

   ' // Use the clone brush to fill a rectagle
   hStatus = GdipFillRectangleI(pGraphics, pCloneBrush, 0, 0, 100, 100)

   ' // Cleanup
   IF pCloneBrush THEN GdipDeleteBrush(pCloneBrush)
   IF pBrush THEN GdipDeleteBrush(pBrush)
   IF pGraphics THEN GdipDeleteGraphics(pGraphics)

END SUB