c# - 带有 C# ImageFormat 类的 WebP 图像

标签 c# webp

我正在从网络下载图像以将其保存在本地。它适用于任何其他图像格式,但是当我尝试读取 WebP 图像时,下面的这个方法失败并出现参数异常。

    private static Image GetImage(string url)
    {
        try
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            return Image.FromStream(response.GetResponseStream());
        }
        catch
        {
            return null;
        }
    }

如何在 C# 中读取 .webp 图像? 我发现了另一个允许在类型之间进行转换的问题,但我不想这样做 WebP library for C#

我不想这样做的原因是我认为它可能会损失一些质量。此外,我想知道为什么这不起作用。

最佳答案

基类库不会帮助您处理 WebP 图片。然而,如果你只想将接收到的文件保存到磁盘,你甚至不必知道你正在处理一个 WebP 图像。您可以简单地将接收到的数据视为二进制 blob 并将其转储到文件中,例如使用 Stream.CopyToFileStream

Content-Type HTTP header 将为您提供正在下载的文件的 MIME 类型,以及 Content-Disposition header 可以为您提供文件名和扩展名(尽管您可能必须进行一些解析)。您可以使用 HttpWebResponse.ContentTypeHttpWebResponse.Headers["Content-Disposition"] 访问它们。

关于c# - 带有 C# ImageFormat 类的 WebP 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231081/

相关文章:

c# - TableAdapter 做奔腾数学

c# - 在 Windows Phone 8 应用程序中打开 WebP 图片格式

python - 如何将8bit(0-255)数据表保存为图像文件,然后从图像中检索数据?

javascript - 检测 WebP 支持

ios - WebP 集成和 arm64

c# - 如何使用 C# 在 WPF 中的 Canvas 上垂直添加矩形?

c# - 这段代码真的会导致 "access to modified closure"问题吗?

c# - 主机不支持 .Net Framework v4

image - 如何在Safari浏览器中添加Webp支持

c# - Scripting.FileSystemObject Write 方法失败