在保持质量的同时减小图像尺寸
Reduce image size while maintaining quality
如何在保持质量的同时将图像大小减小到 40 KB,并且图像尺寸大于 400 px,在 C# 中?
注意,被使用:
image.GetThumbnailImage :(尺码合适但尺码偏小,尺码越大尺码越大)
绘图:(大尺寸,大于 700 KB)
代码:
System.Drawing.Bitmap newImage = new System.Drawing.Bitmap(newWidth, newHeight);
using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(newImage))
{
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
gr.DrawImage(im3age, new System.Drawing.Rectangle(new System.Drawing.Point(0, 0), new System.Drawing.Size(newWidth, newHeight)));
newImage.Save(FullPhat, System.Drawing.Imaging.ImageFormat.Jpeg);
}
您的解决方案将完全基于您选择的图像格式、压缩选项 select,最重要的是,图像本身的性质。
此任务的流行图像格式是 JPEG 或 PNG。这两种格式都使用图像中的颜色簇来实现压缩。这意味着,如果您的图片大部分是相同或相似的颜色,您将获得较小的文件大小,如果您的图片有很多分布的颜色,则文件大小会更大。
这里有一些例子:
(使用 Photoshop 保存的图像。PNG 使用最高压缩级别保存,JPEG 使用默认质量级别“8”、最高质量级别“12”和最低质量级别“1”保存。)
- PNG: 4 KB
- JPEG (8): 9 KB
- JPEG (12): 15 KB
- JPEG (1): 5 KB
- PNG: 141 KB
- JPEG (8): 378 KB
- JPEG (12): 590 KB
- JPEG (1): 146 KB
- PNG: 341 KB
- JPEG (8): 84 KB
- JPEG (12): 274 KB
- JPEG (1): 22 KB
如您所见,相同分辨率的不同类型的图像会产生截然不同的文件大小,JPEG 并不总是比 PNG 好,反之亦然。一些 JPEG 图片低于您的标准,但请记住,它们是以最差的质量设置保存的,因此图片看起来像垃圾。
那么,一般规则是 400x400 像素的图像,以完美的无损质量保存在 40 KB 以下的文件中...除非图像主要是单一的纯色,否则不会发生这种情况.
如何在保持质量的同时将图像大小减小到 40 KB,并且图像尺寸大于 400 px,在 C# 中?
注意,被使用:
image.GetThumbnailImage :(尺码合适但尺码偏小,尺码越大尺码越大)
绘图:(大尺寸,大于 700 KB)
代码:
System.Drawing.Bitmap newImage = new System.Drawing.Bitmap(newWidth, newHeight);
using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(newImage))
{
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
gr.DrawImage(im3age, new System.Drawing.Rectangle(new System.Drawing.Point(0, 0), new System.Drawing.Size(newWidth, newHeight)));
newImage.Save(FullPhat, System.Drawing.Imaging.ImageFormat.Jpeg);
}
您的解决方案将完全基于您选择的图像格式、压缩选项 select,最重要的是,图像本身的性质。
此任务的流行图像格式是 JPEG 或 PNG。这两种格式都使用图像中的颜色簇来实现压缩。这意味着,如果您的图片大部分是相同或相似的颜色,您将获得较小的文件大小,如果您的图片有很多分布的颜色,则文件大小会更大。
这里有一些例子:
(使用 Photoshop 保存的图像。PNG 使用最高压缩级别保存,JPEG 使用默认质量级别“8”、最高质量级别“12”和最低质量级别“1”保存。)
- PNG: 4 KB
- JPEG (8): 9 KB
- JPEG (12): 15 KB
- JPEG (1): 5 KB
- PNG: 141 KB
- JPEG (8): 378 KB
- JPEG (12): 590 KB
- JPEG (1): 146 KB
- PNG: 341 KB
- JPEG (8): 84 KB
- JPEG (12): 274 KB
- JPEG (1): 22 KB
如您所见,相同分辨率的不同类型的图像会产生截然不同的文件大小,JPEG 并不总是比 PNG 好,反之亦然。一些 JPEG 图片低于您的标准,但请记住,它们是以最差的质量设置保存的,因此图片看起来像垃圾。
那么,一般规则是 400x400 像素的图像,以完美的无损质量保存在 40 KB 以下的文件中...除非图像主要是单一的纯色,否则不会发生这种情况.