在C#中如何在保持质量的同时将图像大小减小到40 KB,并且图像尺寸大于400 px?
注意,已使用:
image.GetThumbnailImage :(大小合适,但尺寸很小,尺寸越大,尺寸越大)
绘图:(大尺寸,大于700 KB)
代码:
this.editUserForm = new FormGroup({
firstname: new FormControl(this.user.firstname, {
validators: [
Validators.required,
Validators.minLength(4)
],
updateOn: 'change'
})
});
答案 0 :(得分:1)
您的解决方案将完全基于您选择的图像格式,选择的压缩选项以及最重要的是图像本身的性质。
此任务的常用图像格式为JPEG或PNG。除别的以外,这两种格式都使用图像中的颜色簇来实现其压缩。这意味着,如果您的图像颜色大致相同或相似,则文件大小会变小;如果图像的分散颜色很多,则文件大小会变大。
以下是一些示例:
(用Photoshop保存的图像。使用最高压缩级别保存的PNG,使用默认质量级别“ 8”,最高质量级别“ 12”和最低质量级别“ 1”保存的JPEG。)
如您所见,相同分辨率的不同种类的图像产生的文件大小完全不同,JPEG并不总是比PNG更好,反之亦然。某些JPEG图像低于您的标准,但请记住,它们的保存本质上是质量最差的设置,因此图像看起来像垃圾。
那么,通常的规则是,将400x400 px的图像以完美的无损质量保存在40 KB以下的文件中...除非该图像主要是单一的纯色,否则不会发生。 / p>