我尝试以小步幅放大或缩小图片,直到它填满屏幕。我的代码: 虽然我<> 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非常复杂,或者不是吗?)
非常感谢您提供有用的信息
马克
答案 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
这很合理