C# 后台处理 webp图片

一、站点报错

接收图片,字节流转图片对象的方法:Bitmap.FromStream 报错:参数无效,跟踪发现是接收的图片是.webp的图片,原本的图片处理方法无法处理,需要专门的处理方法

二、处理.webp图片

1、项目引用 Imazen.WebP.bll

C# 后台处理 webp图片_第1张图片

说明中,标注没有依赖项,但其实使用时依赖  libwebp.dll

如果安装libwebp报错:严重性    代码    说明    项目    文件    行    禁止显示状态
错误        无法安装程序包“libwebp 1.0.0”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系程序包作者。        

C# 后台处理 webp图片_第2张图片

莫慌,可以直接引用下载的bll文件,

https://download.csdn.net/download/duoni2014/86782103        

libwebp.dll下载地址2(如果上面文件不能用,用这个链接的,可能有惊喜)

libwebp.dll free download | DLL‑files.com

 2、使用示例代码

/// 
/// 字节数组生成图片(webp图片)
/// 
/// 字节数组
/// 图片
public Image byteArrayToImageForWebp(byte[] Bytes)
{
    return new SimpleDecoder().DecodeFromBytes(Bytes, Bytes.Length);
}

1、注意,这个方法只处理.webp图片,普通图片还是使用原方法

2、如果使用时报错:无法加载 libwebp.dll,可能是libwebp.dll文件不存在,把下载的libwebp.dll文件放到bin 文件夹中就可以

如果报错:试图加载格式不正确的程序,可能是libwebp.dll文件版本不正确,x64/x86两个版本都试试

你可能感兴趣的:(C#,c#,开发语言,爬虫)