上传时自动质量

时间:2015-01-03 16:23:40

标签: imageresizer

上传我使用以下命令,效果很好:

Dim i As ImageResizer.ImageJob = New ImageResizer.ImageJob(file, "~/App_Themes/theme_yellow/uploads/" + vllid + ".jpg", New ImageResizer.Instructions("width=1200;quality=60;format=jpg"))
i.Build()

这样,每个小图像和大图像的质量都会降低到60%。

我的问题是:有没有办法降低每次上传的质量,以便每个上传文件的文件大小都是大约。 200KB?如果可能的话,我对应用质量百分比不再感兴趣了。像("widht=1200; format=jpg", maxfilesize=200KB")

这样的东西

1 个答案:

答案 0 :(得分:0)

计算压缩比的唯一方法是执行压缩。因此,压缩很慢,反复压缩图像直到它关闭为止。达到理想的尺寸将非常缓慢。

您可以通过使用for循环并写入MemoryStream实例而不是文件来执行此操作。如果它是您想要的大小,请将内存流复制到磁盘(请记住每次都要回到开头)。

我不建议这样做,除非你有小图片,或大量备用计算资源,并且不关心HTTP响应时间。