Graphics.PageScale プロパティ
アセンブリ: System.Drawing (system.drawing.dll 内)

/** @property */ public float get_PageScale () /** @property */ public void set_PageScale (float value)
このプロパティは、この Graphics のワールド単位とページ単位の間のスケーリングの値を指定します。

四角形を描画するときに PageScale メンバと TranslateTransform メンバを使用してスケールと原点を変更する方法を次のコード例に示します。
この例は、Windows フォームでの使用を意図してデザインされています。コードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ChangePageScaleAndTranslateTransform メソッドを呼び出します。
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.TranslateTransform(0.0F, 0.0F) 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(50, 50, 100, 200) ' Fill in the rectangle with a semi-transparent color. e.Graphics.FillRectangle(transparentBrush, newRectangle) End Sub
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.TranslateTransform(0.0F, 0.0F); 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(50, 50, 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 = 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->TranslateTransform( 0.0F, 0.0F ); 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(50,50,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.get_Graphics().DrawRectangle(Pens.get_SlateBlue(), rectangle1); // Change the page scale. e.get_Graphics().set_PageScale(2); // Call TranslateTransform to change the origin of the // Graphics object. e.get_Graphics().TranslateTransform(10, 10); // Draw the rectangle again. e.get_Graphics().DrawRectangle(Pens.get_Tomato(), rectangle1); // Set the page scale and origin back to their original values. e.get_Graphics().set_PageScale(1); e.get_Graphics().TranslateTransform(0, 0); SolidBrush transparentBrush = new SolidBrush(Color.FromArgb(50, Color.get_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(50, 50, 100, 200); // Fill in the rectangle with a semi-transparent color. e.get_Graphics().FillRectangle(transparentBrush, newRectangle); } //ChangePageScaleAndTranslateTransform

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からGraphics.PageScale プロパティを検索する場合は、下記のリンクをクリックしてください。

- Graphics.PageScale プロパティのページへのリンク