Graphics.PageScale Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the scaling between world units and page units for this Graphics.
public:
property float PageScale { float get(); void set(float value); };
public float PageScale { get; set; }
member this.PageScale : single with get, set
Public Property PageScale As Single
Property Value
This property specifies a value for the scaling between world units and page units for this Graphics.
Examples
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 = 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 = gcnew 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 = Rectangle(60,60,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.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);
}
Private Sub ChangePageScaleAndTranslateTransform(ByVal e As _
PaintEventArgs)
' Create a rectangle.
Dim rectangle1 As 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()
Dim transparentBrush As 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
Dim newRectangle As Rectangle = New Rectangle(60, 60, 100, 200)
' Fill in the rectangle with a semi-transparent color.
e.Graphics.FillRectangle(transparentBrush, newRectangle)
End Sub