Graphics::PageScale Property
.NET Framework (current version)
Gets or sets the scaling between world units and page units for this Graphics.
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 = 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 ); }
.NET Framework
Available since 1.1
Available since 1.1
Show: