画像のサイズを変更してピクチャボックスにロードする関数を作成しようとしています...
これまで私はこれをやった:
Function ResizeImage(Picture As ImageFile, Width As Integer, Height As Integer) As ImageFile
Dim ratioWidth, ratioHeight, ratio As Double
Dim newWidth, newHeight As Integer
Dim img As ImageFile
Set img = Picture
'Calgulate AspectRatio
ratioWidth = (Width / Picture.Width)
ratioHeight = (Height / Picture.Height)
'Choose the smaller ratio
If ratioWidth > ratioHeight Then
ratio = ratioHeight
Else
ratio = ratioWidth
End If
'Calgulate newWidth and newHeight
newWidth = Picture.Width * ratio
newHeight = Picture.Height * ratio
'Return resized image
ResizeImage = img.ARGBData.Picture(newWidth, newHeight)
End Function
次のように呼び出される関数:
picResim.Picture = LoadPicture(PicturePath) 'Show picture first
Set PrintImg = New ImageFile 'Create a background picture
PrintImg.LoadFile PicturePath 'to process on
picResim.Picture = ResizeImage(PrintImg, 40, 30) 'Show resized picture
しかし、ご覧のとおり、大量のデバッグが必要です。何が間違っているのでしょうか。これを解決するにはどうすればよいですか?