缩小图像尺寸,同时保持质量

时间:2018-08-07 18:51:40

标签: c# image size drawing

在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'
   })     
});

1 个答案:

答案 0 :(得分:1)

您的解决方案将完全基于您选择的图像格式,选择的压缩选项以及最重要的是图像本身的性质。

此任务的常用图像格式为JPEG或PNG。除别的以外,这两种格式都使用图像中的颜色簇来实现其压缩。这意味着,如果您的图像颜色大致相同或相似,则文件大小会变小;如果图像的分散颜色很多,则文件大小会变大。

以下是一些示例:

(用Photoshop保存的图像。使用最高压缩级别保存的PNG,使用默认质量级别“ 8”,最高质量级别“ 12”和最低质量级别“ 1”保存的JPEG。)

Single color

  • PNG:4 KB
  • JPEG(8):9 KB
  • JPEG(12):15 KB
  • JPEG(1):5 KB

Pure noise

  • PNG:141 KB
  • JPEG(8):378 KB
  • JPEG(12):590 KB
  • JPEG(1):146 KB

Nature

  • PNG:341 KB
  • JPEG(8):84 KB
  • JPEG(12):274 KB
  • JPEG(1):22 KB

如您所见,相同分辨率的不同种类的图像产生的文件大小完全不同,JPEG并不总是比PNG更好,反之亦然。某些JPEG图像低于您的标准,但请记住,它们的保存本质上是质量最差的设置,因此图像看起来像垃圾。

那么,通常的规则是,将400x400 px的图像以完美的无损质量保存在40 KB以下的文件中...除非该图像主要是单一的纯色,否则不会发生。 / p>