【问题标题】:Resizing an Image by size instead of height and width using c# [duplicate]使用c#按大小而不是高度和宽度调整图像大小[重复]
【发布时间】:2018-02-05 09:24:27
【问题描述】:

我想将所有图像的大小调整为 50 kb。高度和宽度是多少并不重要。

我知道如何使用静态高度和宽度调整大小:

public static Image resizeImage(Image imgToResize, Size size)
{
    return (Image)(new Bitmap(imgToResize, size));
}
yourImage = resizeImage(yourImage, new Size(50,50));

如何在不指定静态高度和宽度的情况下调整图像大小?但是通过以 kb 为单位指定新大小

【问题讨论】:

  • 我想你也想保持图像的纵横比/比例?
  • 是否可以将每个图像裁剪为 1x1 像素并用元数据填充它直到 50 KB?请阅读How to Ask 并展示一些合理的要求以及您尝试过的内容。由于图像数据的不同性质,我想说很难确定给定所需文件大小的可用分辨率。

标签: c#


【解决方案1】:

我想说,在您拥有文件之前,您不可能知道文件的大小。所以在我看来,如果你想实现这一点,你只需要调整大小,检查文件大小(写入 MemoryStream 可能已经是一个很好的近似值),如果对结果不满意,则再次调整大小。 据我所知,没有一种方法可以自动完成..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2013-09-14
    • 2017-12-08
    • 2011-07-10
    • 2011-12-25
    • 2015-05-08
    • 1970-01-01
    相关资源
    最近更新 更多