タイトル | : Re: AutoSizeプロパティ |
記事No | : 14023 |
投稿日 | : 2009/09/08(Tue) 20:28 |
投稿者 | : 魔界の仮面弁士 |
MSDN Library のディスクは見つかりましたか? 掲示板をヘルプ代わりにするわけにも行かないでしょうし、 頑張って探し出してくださいね。
> このプロパティは、PaintPictureで貼り付けた画像には合わせて動いてくれないもの > なのでしょうか?
働きません。
AutoSize プロパティは、「Picture プロパティ」の画像に対して作用するものです。 (Picture とは、描画キャンパスの下地となる『背景画像』を意味しています)
しかし PaintPicture による画像描画は、「Image プロパティ」に影響を与えます。 Image はすべての描画結果であり、背景と前景の両方を含んだ画像データです。
PaintPicture などの描画処理というのは、描画キャンパスの上に描くのであって、 キャンパスそのものを取り換えているわけではありません。そのため、AutoSize を 変更したとしても、キャンパス自体のサイズは変更されないのです。
もしもサイズ変更が必要なのであれば、Picture オブジェクト――すなわち、 No14018 の例でいうところの変数 P ――の Width / Height プロパティから、 元画像の高さと幅が得られますので、それを元に、PictureBox のサイズを 調整してみてください。
ただし、それぞれの Width / Height は単位系が異なるので、 変換作業が必要となる事に注意してください。
Picture オブジェクトの単位系は、HiMetric です。(0.01 ミリメートル単位)
一方、PictureBox コントロール側の Width / Height は、初期設定では Twip 単位系です。(1 センチメートル = 567 twips、1 インチ = 1440 twips)
なお、コントロールの単位系は、フォーム(あるいは親コントロール)の ScaleMode 等で変更できます。(Picture オブジェクトの単位系は変更できません)
|