This documentation is for the old version. Go to the latest Graphics Mill docs

Bitmap.GetGdiGraphics Method

Returns GdiGraphics object associated with this Bitmap.

Namespace: Aurigma.GraphicsMill
Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)

Syntax

Visual Basic
Public Function GetGdiGraphics As GdiGraphics
C#
public GdiGraphics GetGdiGraphics()

Return Value

GdiGraphics object associated with this Bitmap.

Remarks

Several calls of this method will return the same object.

You can freely dispose the GdiGraphics returned with this method, although it is not necessary. If you dispose this graphics object, next call of the GetGdiGraphics() method will create new instance of this class.

Note

GDI cannot handle bitmaps with an alpha channel when it draws anything on it. As the high byte of 4-byte color must be zero in GDI, each pixel drawn with GDI becomes transparent. So now, if you try to call any drawing methods for the bitmaps with an alpha channel when using GDI, the UnsupportedPixelFormatException exception will be thrown.

Examples

Visual Basic
Dim bitmap As New Aurigma.GraphicsMill.Bitmap( _
 Aurigma.GraphicsMill.RgbColor.White, 185, 145, _
 Aurigma.GraphicsMill.PixelFormat.Format24bppRgb)

Dim graphics As Aurigma.GraphicsMill.Drawing.GdiGraphics = bitmap.GetGdiGraphics()

'Draw filled and outlined rectangle
Dim pen As New Aurigma.GraphicsMill.Drawing.Pen(Aurigma.GraphicsMill.RgbColor.Red, 3)
Dim brush As New Aurigma.GraphicsMill.Drawing.SolidBrush( _
 Aurigma.GraphicsMill.RgbColor.FromRgb(&HDD, &HDD, &HFF))
graphics.FillRectangle(brush, 10, 10, 100, 60)
graphics.DrawRectangle(pen, 10, 10, 100, 60)

'Draw filled but non-outlined ellipse
brush.Color = Aurigma.GraphicsMill.RgbColor.Yellow
graphics.FillEllipse(brush, 60, 40, 100, 80)

'Draw outlined but non-filled polygon 
pen.Color = Aurigma.GraphicsMill.RgbColor.Green
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot
pen.Width = 1
Dim points As System.Drawing.Point() = { _
 New System.Drawing.Point(20, 30), New System.Drawing.Point(50, 2), _
 New System.Drawing.Point(180, 30), New System.Drawing.Point(80, 140)}
graphics.DrawPolygon(pen, points)
C#
Aurigma.GraphicsMill.Bitmap bitmap = new Aurigma.GraphicsMill.Bitmap(
    Aurigma.GraphicsMill.RgbColor.White, 185, 145, 
    Aurigma.GraphicsMill.PixelFormat.Format24bppRgb);

Aurigma.GraphicsMill.Drawing.GdiGraphics graphics = bitmap.GetGdiGraphics();

//Draw filled and outlined rectangle
Aurigma.GraphicsMill.Drawing.Pen pen = new Aurigma.GraphicsMill.Drawing.Pen(
    Aurigma.GraphicsMill.RgbColor.Red, 3);
Aurigma.GraphicsMill.Drawing.SolidBrush brush = new Aurigma.GraphicsMill.Drawing.SolidBrush( 
    Aurigma.GraphicsMill.RgbColor.FromRgb(0xDD, 0xDD, 0xFF));
graphics.FillRectangle(brush, 10, 10, 100, 60);
graphics.DrawRectangle(pen, 10, 10, 100, 60);

//Draw filled but non-outlined ellipse
brush.Color = Aurigma.GraphicsMill.RgbColor.Yellow;
graphics.FillEllipse(brush, 60, 40, 100, 80);

//Draw outlined but non-filled polygon 
pen.Color = Aurigma.GraphicsMill.RgbColor.Green;
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
pen.Width = 2;
System.Drawing.Point[] points = { 
    new System.Drawing.Point(20, 30), new System.Drawing.Point(50, 2), 
    new System.Drawing.Point(180, 30), new System.Drawing.Point(80, 140)};
graphics.DrawPolygon(pen, points);

See Also

Reference