ピクチャーボックスの枠全体にきちんと写真が納まりません。
現在の取り込み状況
g.DrawImage(BackBmp, 0, 0) として取り込んでいます。
原因を探るために極端な数値を入れてみました。
g.DrawImage(BackBmp, 0, 0, 360, 1600) として取り込んでいます。
VB.NET
1フォームロード時に宣言 2Private BackBmp As Image
VB.NET
1リストビューをダブルクリックしたとき 2Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick 3 TextBox3.Text = itemx.Text 4 '読み込む 5 Dim bmp As New System.Drawing.Bitmap(itemx.Text) 6 '画像解像度を取得する 7 PUB_Height = bmp.Height 8 PUB_Width = bmp.Width 9 'ピクチャーボックスのサイズを設定 10 '高さは 270 で固定 11 PictureBox2.Width = (270 / PUB_Height) * PUB_Width 12 '画像リソースを解放 13 bmp.Dispose() 14 Using stream As New IO.StreamReader(TextBox3.Text) 15 If BackBmp IsNot Nothing Then 16 BackBmp.Dispose() 17 End If 18 BackBmp = Image.FromStream(stream.BaseStream) 19 End Using 20 Using g As Graphics = Graphics.FromImage(PictureBox2.Image) 21 g.Clear(SystemColors.Control) 22 '画像の描画位置とサイズを指定しています。 23 g.DrawImage(BackBmp, 0, 0, PictureBox2.Width, PictureBox2.Height) 24 End Using 25 PictureBox2.Invalidate() 26End Sub
PictureBox2.SizeMode = Zoom
です。
通常「Zoom」に設定しておけば「g.DrawImage(BackBmp, 0, 0)」で大丈夫だと思うので、最初はこのように設定しました。
何が原因でこのような結果になるのか分かりません。
お力添え、よろしくお願いします。
環境
Windows10
Microsoft Visual Studio 2010
https://teratail.com/questions/370030 を編集してください。スレッドを乱立するのはみんなの迷惑。
回答1件
あなたの回答
tips
プレビュー