本文主要介绍如何使用C#将图片进行压缩并保存到本地。
接收一个原始图片的字节数组、需要保存的图片类型、输出路径和图片质量。方法首先将字节数组转换为一个内存流,然后使用Image.FromStream
方法将内存流转换为一个Image对象。接下来,方法创建一个编码参数对象,设置图片的质量。之后,通过调用GetImageCodecInfo
方法获取指定图片类型对应的编码器信息。最后,调用image.Save
方法将压缩后的图片保存到指定的输出路径。
/// <summary>
/// 压缩图片byte数组并保存到本地
/// </summary>
/// <param name="bytes">原始图片byte数组</param>
/// <param name="format">需要保存图片的MIME类型</param>
/// <param name="outputPath">输出路径</param>
/// <param name="quality">图片质量0-100</param>
private void CompressImage(byte[] bytes, ImageFormat format, string outputPath, long quality)
{
using (MemoryStream ms = new MemoryStream(bytes))
{
Image image = Image.FromStream(ms);
// 创建一个编码参数对象
EncoderParameters encoderParams = new EncoderParameters(1);
encoder