• ベストアンサー

ピクチャーボックスの大きさに合わせて画像を表示

縦に長い画像をピクチャーボックスに表示したいのですが、 エクスプローラーの縮小表示と同じように 縦長の場合は左右に余白が出来て、画像の縦横比は 変更しないですべてを表示したいのですが、 どのようにしたら良いでしょうか。 PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage を使うと全部入るのですが、左右に余白がないように 引き伸ばしてしまうので、何の画像なのか分かりにくくなってしまいます。 よろしくおねがいします。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

今表示しようとしているImage のHeight と Width を調べて 高さが大きければPictureBox の幅を(縦横比に合わせて)変更し 幅が大きければPictureBox の高さを(縦横比に合わせて)変更する そしてPictureBox 自体の位置をサイズの変更に合わせてセンタリングする位置に移動するようにすれば、StrechImage のままでいいと思う

popopompom
質問者

お礼

お返事ありがとうございます。 専用の設定などがあればと思ったのですが、 手順を追ってやるしかないようですね。 この方法でやってみます。

その他の回答 (1)

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.1

pictureboxをもう一個入れて、 そのサイズをピクチャーの縦横比にあわせればいいんじゃない? 外側のpictureboxのresizeイベント時に 内側の縦横比をそのままで外側のpictureboxの内側に接するようにすればできるんじゃないでしょうか?

popopompom
質問者

お礼

お返事ありがとうございます。 このような方法もあるのですね。 今回は別の方法でやってみることにしましたが、 何かの時に使ってみたいと思います。