Graphics.PageScale Property
Gets or sets the scaling between world units and page units for this Graphics.
Namespace: System.Drawing
Assembly: System.Drawing (in System.Drawing.dll)
The following code example demonstrates how to use the PageScale and TranslateTransform members to change the scale and origin when you draw a rectangle.
This example is designed to be used with Windows Forms. Paste the code into a form and call the ChangePageScaleAndTranslateTransform method when handling the form's Paint event, passing e as PaintEventArgs.
private void ChangePageScaleAndTranslateTransform(PaintEventArgs e) { // Create a rectangle. Rectangle rectangle1 = new Rectangle(20, 20, 50, 100); // Draw its outline. e.Graphics.DrawRectangle(Pens.SlateBlue, rectangle1); // Change the page scale. e.Graphics.PageScale = 2.0F; // Call TranslateTransform to change the origin of the // Graphics object. e.Graphics.TranslateTransform(10.0F, 10.0F); // Draw the rectangle again. e.Graphics.DrawRectangle(Pens.Tomato, rectangle1); // Set the page scale and origin back to their original values. e.Graphics.PageScale = 1.0F; e.Graphics.ResetTransform(); SolidBrush transparentBrush = new SolidBrush(Color.FromArgb(50, Color.Yellow)); // Create a new rectangle with the coordinates you expect // after setting PageScale and calling TranslateTransform: // x = (10 + 20) * 2 // y = (10 + 20) * 2 // Width = 50 * 2 // Length = 100 * 2 Rectangle newRectangle = new Rectangle(60, 60, 100, 200); // Fill in the rectangle with a semi-transparent color. e.Graphics.FillRectangle(transparentBrush, newRectangle); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.