vb.net - 调整图像大小并保持纵横比

标签 vb.net image algorithm resize aspect-ratio

我正在尝试制作放大/缩小按钮,但无论出于何种原因,我就是不知道如何保持纵横比并调整图像大小 - 比如 90% 或 110%

问题是我试图做到这一点,以便当您单击缩小按钮 4 次,然后单击放大按钮 4 次时,图像将恢复其原始大小。没有定义宽度,因为我试图使新宽度为现有宽度的 90%/110%,但显然乘以 0.9 和 1.1 并不能正确执行此操作。

我目前有以下代码..

    Dim source As New Bitmap(PictureBox1.Image)
    Dim NewWidth As Integer = source.Width * 0.9
    Dim NewHeight As Integer = NewWidth * (source.Height / source.Width)

感谢任何帮助。我确信我只是又想太多了,但如果能提供一些指导,我们将不胜感激:)

最佳答案

最好的方法是从原始图像的副本开始每次调整大小操作。让您的按钮代表总缩放系数(例如,为 + 添加 0.1 缩放,为 - 减去 0.1 缩放)。

您希望每次都从原始图像开始,否则连续操作会由于放大和缩小中固有的插值而快速扭曲图像。

关于vb.net - 调整图像大小并保持纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592425/

相关文章:

javascript - 服务器端页面加载之前的 Vb asp.net JavaScript?

c# - 当多列数据匹配时,如何合并DataTable中的行?

javascript - Django 在客户端上传之前调整图像大小

html - 图像的 Flexbox 动态大小

performance - 一种快速准确的文本文档相似度比较方法

python - 为给定特定列表的排序算法找到合理的计时测试

c# - Xml反序列化为对象,反射为类型

.net - 如何从子类(在嵌套类中)获取父类中的值?

android - uri 图像未在 React native ImageView 中呈现

c++ - 为什么我在 spoj 上获得 BUGLIFE 的 WA