string inputImagePath = "input.jpg"; // 输入图片路径
string outputImagePath = "output.jpg"; // 输出图片路径
int maxWidth = 800; // 压缩后的最大宽度
int maxHeight = 600; // 压缩后的最大高度
int quality = 75; // 图片质量(0-100)
using (var image = Image.Load(inputImagePath))
// 检查图片尺寸是否小于指定的宽度和高度
if (image.Width > maxWidth || image.Height > maxHeight)
// 如果需要,可以按比例缩放图像以适应指定的宽度和高度
image.Mutate(x => x
.Resize(new ResizeOptions
Size = new Size(maxWidth, maxHeight),
Mode = ResizeMode.Max
// 保存压缩后的图像
using (var outputStream = File.OpenWrite(outputImagePath))
var encoder = new JpegEncoder
Quality = quality
image.Save(outputStream, encoder);
// 如果图片小于指定的宽度和高度,直接复制到输出路径
File.Copy(inputImagePath, outputImagePath);