Rust 打开文件扩展名以外的其他格式的图像

Rust open image with other format than file extension

我正在尝试在我的 Rust 程序中打开图像。图片名为foo.png,但打不开image::open("foo.png")的图片。 如果我将文件重命名为 foo.jpeg,我可以打开图像,所以我的猜测是格式和文件扩展名不匹配。

我的问题是。如何打开名为 foo.png 的文件并将其解码为 jpeg? 我已经试过了image::io::Reader,但我似乎无法让它正常工作。

您可以使用 image::load() 函数,它可以让您指定格式:

let image = image::load(BufReader::new(File::open("foo.png")?), ImageFormat::Jpeg)?;