什么是 WebP
WebP 是一种由 Google 开发的图像格式,主要特点有:
1. 高压缩率:比 JPEG 更小的文件大小。
2. 高图像质量:在压缩的同时保持清晰度。
3. 支持透明度:可以创建透明背景的图像。
4. 支持动画:可以制作动态图像,类似 GIF。
5. 现代浏览器兼容:大多数新浏览器支持这种格式。
WebP 适用于需要快速加载和节省带宽的网络图像。

ImageMagick 的使用
通过 ImageMagick 把一张 58M 的照片,压缩质量还是默认的 75,压缩后还有 1.2m,压缩后的文件仅占压缩前文件大小的 2%。可见效果是相当不错。
引入 ImageMagick
Install-Package Magick.NET-Q8-AnyCPU
using ImageMagick;
ConvertImageToWebP("demo.png", "demo.webp", 75);
static void ConvertImageToWebP(string inputImagePath, string outputImagePath, int quality)
{
    // 读取图片
    using (MagickImage image = new MagickImage(inputImagePath))
    {
        // 设置压缩质量
        image.Quality = quality;
        // 转换为 WebP 格式
        image.Format = MagickFormat.WebP;
        // 保存到文件
        image.Write(outputImagePath);
    }
} 
SkiaSharp 的使用
引入 SkiaSharp
dotnet add package SkiaSharp
using SkiaSharp;
ConvertImageToWebP("demo.png", "demo.webp", 75);
static void ConvertImageToWebP(string inputImagePath, string outputImagePath, int quality)
{
	// 加载输入图像
	using var inputStream = new FileStream(inputImagePath, FileMode.Open);
	using var inputBitmap = SKBitmap.Decode(inputStream);
	// 创建一个新的 SKImage 从 SKBitmap
	using var image = SKImage.FromBitmap(inputBitmap);
	// 设置 WebP 编码参数 Quality,调整质量 (0-100)
	var webpEncoderOptions = new SKWebpEncoderOptions() { Quality=quality};
	// 编码并保存为 WebP
	using var outputStream = new FileStream(outputImagePath, FileMode.Create);
	using (var data = image.Encode(SKEncodedImageFormat.Webp, quality))
	{
		data.SaveTo(outputStream);
	}
} 
© 版权声明
博主的文章没有高度、深度和广度,只是凑字数。利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章!如若有侵权,请联系博主删除。
喜欢就点个赞吧
 
 
 ![【学习强国】[挑战答题]带选项完整题库(2020年4月20日更新)-武穆逸仙](https://www.iwmyx.cn/wp-content/uploads/2019/12/timg-300x200.jpg) 
  
  
 ![【学习强国】[新闻采编学习(记者证)]带选项完整题库(2019年11月1日更新)-武穆逸仙](https://www.iwmyx.cn/wp-content/uploads/2019/12/77ed36f4b18679ce54d4cebda306117e-300x200.jpg) 
 





