PictureBoxコントロールの座標について

タグの編集
投稿者 vb初心者  (社会人) 投稿日時 2015/1/16 11:53:33
PictureBox内にイメージを表示させ、イメージ上に図形を描画しようとしていますが、
座標が合わず困っています。

PictureBoxプロパティより、サイズはWidth800, Height500にしてあります。
試しに、PictureBox上の座標(0,0)に800×500の四角形を描いてみると、PictureBoxより小さいサイズで800×500の□が描かれてしまいます。

画像をZoomで表示させていることが影響していると思いますが、修正方法が分かりません。
教えていただけると助かります。

g.DrawRectangle(p, 0, 0, 800, 500)
投稿者 shu  (社会人) 投稿日時 2015/1/16 22:48:05
PictureBoxに表示しているイメージが800×500より
大きいものを指定していてそのイメージに対し描画されていると思いますがどうでしょう?

(1)この画像のイメージは変更可能か?=> 変更可能なら800×500にすればよい
(2)変更可能でない場合、イメージがPictureBoxからはみ出てもよいか? => 良ければZoomをしないようにすればよい
(3)Zoomを変更出来ないとすると四角形の描画はイメージに対し800×500であることが重要なのかPictureBoxの枠一杯の四角形になることが重要なのかどっちでしょう?
 => 前者なら今のままでよいし、後者なら描画範囲をイメージの大きさに合わせるようにすればよい。
投稿者 vb初心者  (社会人) 投稿日時 2015/1/19 08:50:27
shu様

返答ありがとうございます。
ご指摘いただいた通り、画像イメージのサイズを変更して対応致しました。
なお、ご質問に対してはPictureBoxの枠いっぱいの四角形になることが重要となります。
イメージの大きさに合わせたいところでしたが、画像イメージのサイズが大きかったため、サイズ変更して対応いたしました。

ありがとうございます。
投稿者 vb初心者  (社会人) 投稿日時 2015/1/20 14:22:03
解決しました。