VB6.0でフォームに配置したPictureBoxに画像を読み込むとき、PictureBoxのサイズに合わせて画像を伸縮させるにはどうやればよいでしょうか?
どなたかご存じの方ご教授お願いします。
個人的には、原画をどこかにロードしておいてStretchBltで縮小/拡大コピー。
そういう目的であれば、Imageコントロールの方が便利ですよ。
PictureBox.Pictureプロパティでは、拡大縮小は行われません。
(BMPではなく、メタファイル等であれば拡縮されますけれどね)
PictureBoxを使うのであれば、「PaintPicture」を使って、
画像サイズを指定して「描画」する必要があります。
気持ちはわかるが、マルチはだめ
http://www.takeittechies.com/vbtomo/boards/vbqanda.php?do=leaf&num=8035
すみませんが、この質問は私じゃないですよ。
で、私が知りたいのは、FlexGridのcellpictureの中の画像サイズ変更です。
マルチじゃない証拠として、この質問へのヒントを残します。
With imgPreview
.Visible = False
.Picture = LoadPicture(strSaveName)
.Stretch = False
w = .Width
H = .Height
.Stretch = True
.Height = 1575 'h 1575
.Width = 1575 * w / H
If .Width > imgPicEdit.Width Then
.Width = imgPicEdit.Width
.Height = imgPicEdit.Width * H / w
End If
If .Height = 1575 Then
.Top = imgPicEdit.Top
.Left = imgPicEdit.Left + (imgPicEdit.Width - .Width) \ 2
Else
.Top = imgPicEdit.Top + (imgPicEdit.Height - .Height) \ 2
.Left = imgPicEdit.Left
End If
.Visible = True
End With
ガッさん、魔界の仮面弁士さんおかげさまで解決致しました。
ありがとうございました。
ツイート | ![]() |