using System.Drawing;
using Imazen.WebP;
using System.IO;
using System;
namespace ImazenWebPDemo
{
class Program
{
static void Main(string[] args)
{
//https://blog.csdn.net/weixin_33801856/article/details/89584556
//libwebp.dll一定注意把目标平台设置为x64或是x86
//https://github.com/imazen/libwebp-net
//Install-Package Imazen.WebP -Version 10.0.1
//相关
//Install-Package ImageProcessor.Plugins.WebP -Version 1.3.0
//Install-Package ImageResizer.Plugins.WebP -Version 4.2.8
using (Image image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "b.png"))
{
Bitmap bitmap = new Bitmap(image);
//Graphics g=Graphics.FromImage(bitmap);
FileStream fileStream = File.Create(AppDomain.CurrentDomain.BaseDirectory + "b.webp");
Imazen.WebP.SimpleEncoder simpleEncoder = new SimpleEncoder();
simpleEncoder.Encode(bitmap, fileStream, 100);
}
byte[] bs = File.ReadAllBytes(AppDomain.CurrentDomain.BaseDirectory + "b.webp");
Imazen.WebP.SimpleDecoder SimpleDecoder1 = new SimpleDecoder();
Bitmap img = SimpleDecoder1.DecodeFromBytes(bs, (Int64)bs.Length);
img.Save(AppDomain.CurrentDomain.BaseDirectory + "b_.png");
//byte[] b = File.ReadAllBytes(Server.MapPath("test.webp"));
//Imazen.WebP.Extern.LoadLibrary.LoadWebPOrFail();
//var decoder = new SimpleDecoder();
//var outBitmap = decoder.DecodeFromBytes(b, b.LongLength);
//MemoryStream ms = null;
//ms = new MemoryStream();
//outBitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
//b = ms.ToArray();
//Response.ContentType = "image/jpeg";
//Response.BinaryWrite(b);
}
}
}