Graphics.PageScale Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het schalen tussen wereldeenheden en pagina-eenheden op of stelt u dit Graphicsin.
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
Waarde van eigenschap
Met deze eigenschap geeft u een waarde op voor het schalen tussen wereldeenheden en pagina-eenheden hiervoor Graphics.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de schaal en oorsprong van de PageScale leden TranslateTransform gebruikt om de schaal en oorsprong te wijzigen wanneer u een rechthoek tekent.
Dit voorbeeld is ontworpen voor gebruik met Windows Forms. Plak de code in een formulier en roep de methode aan bij het ChangePageScaleAndTranslateTransform verwerken van de gebeurtenis van Paint het formulier, waarbij deze wordt doorgegeven e als 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