Graphics描画での座標の単位を変更する

Graphics.PageUnitGraphics.PageScaleを設定することで
Graphicsの描画関数に渡す値の単位を変更することができます。

たとえば、1/100インチ単位で描画したい場合、次のように設定します

    grfx.PageUnit = GraphicsUnit.Inch;
    grfx.PageScale = 0.01f;

この状態で次のようにDrawLineメソッドを呼び出すと1インチの直線を引きます。

    grfx.DrawLine(pen , 0 , 0 , 100 , 0);

Graphics.PageUnitプロパティの型、GraphicsUnitの値とその意味は次のようになっています。

GraphicsUnit列挙体
説明
Display ディスプレイへの描画の場合はPixelと同じ
プリンタの場合は1/100インチ(プリンタのデフォルト)
Document ドキュメント単位(1/300インチ単位)
Inch インチを長さの単位に指定します。
Millimeter ミリメートル単位
Pixel デバイスピクセル単位
Point プリンタポイント(1/72インチ)単位(=フォントサイズ)。
World ワールド単位(選択不可)
広告

akatukisiden について

フリーランスプログラマ 使用言語はC++,C#とそのつなぎのC++/CLI 専門はクライアントアプリ開発
カテゴリー: C#, Windows Forms パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中