【发布时间】:2023-03-15 08:16:01
【问题描述】:
我尝试以小幅度放大或缩小图片,直到它填满屏幕。我的代码: 而我 Math.Round(ZoomFactor, 2) 如果 ZoomFactor >= 1 那么 我 = 我 + 0.01 放大图片(1.01) 别的 我 = 我 - 0.01 放大图片(0.99) 万一 Me.PictureBox1.Update() 结束时 Private Sub ZoomPicture(ZoomFactor) 将 BiggerImage 调暗为位图 BiggerImage = 新位图(PictureBox1.Image,PictureBox1.Image.Width * ZoomFactor,PictureBox1.Image.Height * ZoomFactor) PictureBox1.Image = 更大的图像 结束子
这可行,但缩放有点生涩(不流畅)。我希望它像电影一样(最少 24 次缩放/秒)。
有没有更好的方法来实现这一点?但不要太复杂(我认为使用 DirectX 很复杂,不是吗?)
非常感谢您提供有用的信息
马克
【问题讨论】:
-
Is there a better way to achieve this?或许您可以通过XLL 实现这一目标。问题在于 VBA 本身,即 VBA Engine 性能。 -
什么是 XLL?我知道 fortran、colbol、basic、pascal、visual basic。我不想在我这个年纪学习一门新语言。
-
请看一下用“XLL”引用的链接。它是一个支持 C/C++ 作为本机语言的 SDK,因此,移植头文件后的其他语言。也许有人已经将 XLL SDK 移植到您首选的语言中。
-
我不懂 C 或 C++。 VB没有解决办法吗?
-
others (languages) after porting header files. Maybe someone already has ported XLL SDK into one of your preffered languages.
标签: performance vba zooming