Graphics.PageScale Eigenschap

Definitie

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

Van toepassing op

Zie ook