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






Graphics.TranslateClip

   

using System;
using System.Drawing;
using System.Drawing.Drawing2D;

using System.Windows.Forms;

class KeyholeClipCentered : Form {
    GraphicsPath path = new GraphicsPath();
    Image image = Image.FromFile("Color.jpg");
    public static void Main() {
        Application.Run(new KeyholeClipCentered());
    }
    public KeyholeClipCentered() {
        ResizeRedraw = true;
        path.AddArc(80, 0, 80, 80, 45, -270);
        path.AddLine(70, 180, 170, 180);
    }
    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) {
        grfx.SetClip(path);

        RectangleF rectf = path.GetBounds();
        int xOffset = (int)((cx - rectf.Width) / 2 - rectf.X);
        int yOffset = (int)((cy - rectf.Height) / 2 - rectf.Y);

        grfx.TranslateClip(xOffset, yOffset);
        grfx.DrawImage(image, xOffset, yOffset, image.Width, image.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.ReleaseHdc
39.Graphics.RotateTransform
40.Graphics.ScaleTransform
41.Graphics.SetClip
42.Graphics.SetClip(path, (CombineMode)miCombineMode.Index)
43.Graphics.SmoothingMode
44.Graphics.TextRenderingHint
45.Graphics.Transform
46.Graphics.TranslateTransform
47.Graphics.VisibleClipBounds