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

Nan*_*ech 3 c# image image-processing image-formats imagesharp

我一直在研究这个库,目的是用 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);
Run Code Online (Sandbox Code Playgroud)

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

toc*_*oft 6

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

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

Run Code Online (Sandbox Code Playgroud)

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

Configuration.Default.ImageFormatsManager.SetEncoder(JpegFormat.Instance, new JpegEncoder()
{
    Quality = 90
});
Run Code Online (Sandbox Code Playgroud)