using SixLabors.ImageSharp.Formats.Jpeg;
namespace 图片压缩
{
public class Program
{
static void Main(string[] args)
{
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);
}
}
else
{
// 如果图片小于指定的宽度和高度,直接复制到输出路径
File.Copy(inputImagePath, outputImagePath);
}
}
}
}
}
c# .net core 生成缩略图(在linux运行)
最新推荐文章于 2024-04-19 17:24:11 发布