2011-11-11 9 views
1

私は400x400のpxイメージを作成した400x400フォームに描画しようとしています。私がやっていることは次のとおりです。作成する画像を描画しますか? (サイズ関連の問題)

Graphics.DrawImage Method (Image, 0, 0, 400, 400) 0, 0, 400, 400, ... 

しかし、私は、フォームを実行すると、画像がy軸上に少し伸ばしているようだ、x軸は正常に動作しているようです。

これは私が

... (Image, 0, 0, 264, 231) 0, 0, 400, 400, ... 

またはそのような何か(サイズに合うように、古い小さい画像を延伸)の前に何をしていたかでした。私は正しい方法でやろうとしているので、正しく動作させることができません。

編集:Graphics.DrawImageのより単純なバージョンを使用しても問題ないのでしょうか?私は何をしているのか、何が間違っているのか把握する必要があります。

ありがとうございます。

+0

問題が何であるかを混乱ビット:

e.Graphics.DrawImage(image, 0, 0) 

フォームのサイズを設定するには、あなたはこれを試すことができます。 264x231の画像を400x400の画像に拡大しようとしていますか? – LarsTech

+0

いいえ、それは私がもともとやっていたものですが、画像が伸びていて、私が戻って400x400のフォームに合わせて400x400の画像を作ったので、それは動作しません正しく。 –

答えて

2

400×400のボーダーレスフォームをお持ちの場合は、問題ありません。

もしそうでなければ、フォームの非クライアント・ディメンションを考慮して、必要なサイズにする必要があります。あなただけの描画のためにこれを行うことができます

Me.ClientSize = New Size(400, 400) 
+0

これは問題の可能性があります。私はちょうど400x400にフォームを設定しています。イメージの描画は400x400です。フォームボーダーが合計に向かっている場合、これはおそらく問題です(申し訳ありませんが、かなり新しいvbで)。もしそうなら、私は元の質問で示した私の例よりも、それをスケールダウンする方法がありますか? –

+0

@ user1041950更新された回答。 – LarsTech

+0

Me.Clientsize =新しいサイズ(400,400)は、実際のフォームを400x400に設定し、周囲の境界がそれを超えますか? –