Export (0) Print
Expand All

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)

public float PageScale { get; set; }
/** @property */
public float get_PageScale ()

/** @property */
public void set_PageScale (float value)

public function get PageScale () : float

public function set PageScale (value : float)

Not applicable.

Property Value

This property specifies a value for the scaling between world units and page units for this Graphics.

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.TranslateTransform(0.0F, 0.0F);

    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(50, 50, 100, 200);

    // Fill in the rectangle with a semi-transparent color.
    e.Graphics.FillRectangle(transparentBrush, newRectangle);
}

private void ChangePageScaleAndTranslateTransform(PaintEventArgs e)
{
    // Create a rectangle.
    Rectangle rectangle1 = new Rectangle(20, 20, 50, 100);

    // Draw its outline.
    e.get_Graphics().DrawRectangle(Pens.get_SlateBlue(), rectangle1);

    // Change the page scale.  
    e.get_Graphics().set_PageScale(2);

    // Call TranslateTransform to change the origin of the
    //  Graphics object.
    e.get_Graphics().TranslateTransform(10, 10);

    // Draw the rectangle again.
    e.get_Graphics().DrawRectangle(Pens.get_Tomato(), rectangle1);

    // Set the page scale and origin back to their original values.
    e.get_Graphics().set_PageScale(1);
    e.get_Graphics().TranslateTransform(0, 0);

    SolidBrush transparentBrush = 
        new SolidBrush(Color.FromArgb(50, Color.get_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(50, 50, 100, 200);

    // Fill in the rectangle with a semi-transparent color.
    e.get_Graphics().FillRectangle(transparentBrush, newRectangle);
} //ChangePageScaleAndTranslateTransform

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft