Graphics: TranslateTransform

image_pdfimage_print

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

class RotatedRectangles: Form
{
public static void Main()
{
Application.Run(new RotatedRectangles());
}
public RotatedRectangles()
{
Text = “Rotated Rectangles”;
ResizeRedraw = true;
}
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)
{
Pen pen = new Pen(clr);
grfx.PageUnit = GraphicsUnit.Pixel;
PointF[] aptf = { (PointF) grfx.VisibleClipBounds.Size };
grfx.PageUnit = GraphicsUnit.Inch;
grfx.PageScale = 0.01f;

grfx.TransformPoints(CoordinateSpace.Page,
CoordinateSpace.Device, aptf);

grfx.TranslateTransform(aptf[0].X / 2, aptf[0].Y / 2);

for (int i = 0; i < 6; i++) { grfx.DrawRectangle(pen, 0, 0, 200, 200); grfx.RotateTransform(10); } } } [/csharp]

This entry was posted in 2D Graphics. Bookmark the permalink.