Partager via


Graphics.PageScale Propriété

Définition

Obtient ou définit la mise à l'échelle entre les unités universelles et les unités de page de ce 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

Valeur de propriété

Cette propriété spécifie une valeur de mise à l'échelle entre les unités universelles et les unités de page de ce Graphics.

Exemples

L’exemple de code suivant montre comment utiliser les PageScale membres et TranslateTransform pour modifier l’échelle et l’origine lorsque vous dessinez un rectangle.

Cet exemple est conçu pour être utilisé avec Windows Forms. Collez le code dans un formulaire et appelez la méthode lors de la ChangePageScaleAndTranslateTransform gestion de l’événement du Paint formulaire, en passant e comme 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

S’applique à

Voir aussi