Graphics.PageScale プロパティ

定義

この Graphics のワールド単位とパージ単位の間のスケーリングを取得または設定します。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

プロパティ値

このプロパティは、この Graphics のワールド単位とパージ単位の間のスケーリングの値を指定します。This property specifies a value for the scaling between world units and page units for this Graphics.

次のコード例は、四角形を描画するときに、PageScale メンバーと TranslateTransform メンバーを使用してスケールと原点を変更する方法を示しています。The following code example demonstrates how to use the PageScale and TranslateTransform members to change the scale and origin when you draw a rectangle.

この例は、Windows フォームと共に使用するように設計されています。This example is designed to be used with Windows Forms. フォームにコードを貼り付けて、フォームの Paint イベントを処理するときに ChangePageScaleAndTranslateTransform メソッドを呼び出し、ePaintEventArgsとして渡します。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

適用対象

こちらもご覧ください