是否可以使用 SixLabors.ImageSharp 库转换图像格式?

Is it possible to convert image formats using the SixLabors.ImageSharp Libraries?

我一直在研究这个库,目的是在 C# 中制作图像处理管道。我希望它能够接收 .png 图像并将其转换为 .jpeg。但是我还没有找到使用这个库来做到这一点的方法。有可能吗?有没有人能成功做到这一点?

这是我最好的一张照片:

Image<Rgba32> image1 = SixLabors.ImageSharp.Image.Load<Rgba32>(fileName, out IImageFormat format);

var encd = new JpegEncoder
                {
                    Quality = 80
                };

image.Save(outputFinalPath, encd);

结果是图像被简单地保存为 .png。我是处理图像的新手,所以我可能会遗漏一些东西。

您只需从任何 PNG 文件加载图像,然后调用保存,将路径传递给具有 jpg 文件扩展名的文件。

using (var img = Image.Load("path/to/inputImage.png"))
{
    img.Save("path/to/outputImage.jpeg");
}

可选择传递 jpeg 编码器来调整设置,或者您也可以使用以下代码更改默认值

Configuration.Default.ImageFormatsManager.SetEncoder(JpegFormat.Instance, new JpegEncoder()
{
    Quality = 90
});