如何平滑放大或缩小(Visual Basic)

时间:2015-08-04 03:26:45

标签: performance vba image-zoom

我尝试以小步幅放大或缩小图片,直到它填满屏幕。我的代码:             虽然我<> Math.Round(ZoomFactor,2)                 如果ZoomFactor> = 1则                     I = I + 0.01                     ZoomPicture(1.01)                 其他                     我= I - 0.01                     ZoomPicture(0.99)                 万一                 Me.PictureBox1.Update()             结束时     Private Sub ZoomPicture(ZoomFactor)         Dim BiggerImage As Bitmap         BiggerImage =新位图(PictureBox1.Image,PictureBox1.Image.Width * ZoomFactor,PictureBox1.Image.Height * ZoomFactor)         PictureBox1.Image = BiggerImage     结束子

这样可行,但缩放有点不稳定(不平滑)。我希望它像电影一样(最多24个缩放/秒)。

有没有更好的方法来实现这一目标?但不是太复杂(我认为使用DirectX非常复杂,或者不是吗?)

非常感谢您提供有用的信息

马克

1 个答案:

答案 0 :(得分:0)

我现在使用以下内容:

While PictureBox1.Image.Height < ScreenHeight And (Microsoft.VisualBasic.DateAndTime.Timer - StartTime) < ScreenSaverDuration
      PictureBox1.Image = New Bitmap(Image1, PictureBox1.Image.Width * 1.003, PictureBox1.Image.Height * 1.003)
      Me.PictureBox1.Update()
End  While

这很合理