Graphics.ReleaseHdc : Graphics « System.Drawing « C# / C Sharp by API






Graphics.ReleaseHdc

  
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
   
class CreateMetafileMemory: Form
{
     MemoryStream ms = new MemoryStream();
   
     public static void Main()
     {
          Application.Run(new CreateMetafileMemory());
     }
     public CreateMetafileMemory()
     {
          ResizeRedraw = true; 
   
          Graphics grfx = CreateGraphics();
          IntPtr ipHdc = grfx.GetHdc();
   
          Metafile mf = new Metafile(ms, ipHdc); 
   
          grfx.ReleaseHdc(ipHdc);
          grfx.Dispose();
          grfx = Graphics.FromImage(mf);
   
          grfx.FillEllipse(Brushes.Gray, 0, 0, 100, 100);
          grfx.DrawEllipse(Pens.Black, 0, 0, 100, 100);
          grfx.DrawArc(new Pen(Color.Red, 10), 20, 20, 60, 60, 30, 120);
          grfx.Dispose();
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }        
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          ms.Position = 0;
          Metafile mf = new Metafile(ms);
   
          for (int y = 0; y < cy; y += mf.Height)
          for (int x = 0; x < cx; x += mf.Width)
               grfx.DrawImage(mf, x, y, mf.Width, mf.Height);
     }
}

   
    
  








Related examples in the same category

1.Graphics.Clear
2.Graphics.CopyFromScreen
3.Graphics.DashCap
4.Graphics.Dispose()
5.Graphics.DpiX
6.Graphics.DpiY
7.Graphics.DrawArc
8.Graphics.DrawBeziers
9.Graphics.DrawEllipse
10.Graphics.DrawIcon(Icon icon, int x, int y)
11.Graphics.DrawImage(Image i, int x, int y);
12.Graphics.DrawImage(Image img, int x, int y, int width, int height)
13.Graphics.DrawImage(im, rec, recPart, GraphicsUnit.Pixel)
14.Graphics.DrawImage(Image, Points[])
15.Graphics.DrawLine(Pen p, int x0,int y0, int x1, int y1)
16.Graphics.DrawLine(Pen,Point point1, Point point2)
17.Graphics.DrawLines(Pen pen, Point[] points)
18.Graphics.DrawPie
19.Graphics.DrawRectangle
20.Graphics.DrawRectangles
21.Graphics.DrawString
22.Graphics.EnumerateMetafileProc
23.Graphics.FillClosedCurve
24.Graphics.FillEllipse
25.Graphics.FillEllipse(Brush brush,int x, int y,int width,int height)
26.Graphics.FillPath(Brushes.AliceBlue, myPath);
27.Graphics.FillPolygon
28.Graphics.FillRectangle
29.Graphics.FillRectangles
30.Graphics.FillRegion
31.Graphics.FromHwnd()
32.Graphics.FromImage
33.Graphics.InterpolationMode
34.Graphics.MeasureString
35.Graphics.PageScale
36.Graphics.PageUnit
37.Graphics.PixelOffsetMode
38.Graphics.RotateTransform
39.Graphics.ScaleTransform
40.Graphics.SetClip
41.Graphics.SetClip(path, (CombineMode)miCombineMode.Index)
42.Graphics.SmoothingMode
43.Graphics.TextRenderingHint
44.Graphics.Transform
45.Graphics.TranslateClip
46.Graphics.TranslateTransform
47.Graphics.VisibleClipBounds