WebP 是谷歌推出的适合于 Web 使用的图像格式,在保持同样质量的情况下,可比 JPG 减小 40% 的体积。
但 Typecho 默认不支持 WebP 格式,需要简单修改下源码。
注:本文正文策略适用于 Typecho 1.1,在评论中给出了 1.2 对应的文件,如果升级到了最新版,参照修改即可。
第一部分:修改方法
修改 var/Widget/Themes/List.php 第 70 行:
return preg_match("/screenshot\.(webp|jpg|png|gif|bmp|jpeg)/i",path);
修改 var/Widget/Abstract/Contents.php 第 686 行:
$value['attachment']->isImage = in_array($content['type'], array('webp', 'jpg', 'jpeg', 'gif', 'png', 'tiff', 'bmp'));
修改 var/Typecho/Common.php 第 1399 行,添加:
'webp' => 'image/webp',
修改后台设置,基本 -> 允许上传的文件类型 -> 其他格式,添加 webp 。
感谢陌染小窝提供的方案。
第二部分:黑白图像效果对比
黑白图像,JPG 原图,143 KB。
转换工具:WebP Converter - AnyWebP
操作系统:macOS Big Sur 11.6
黑白图像,WebP 75% 压缩比,47 KB。
黑白图像,WebP 85% 压缩比,86 KB。
黑白图像,WebP 无损压缩,122 KB。
第三部分:彩色图像效果对比
原图是一张 Photoshop 输出的 PNG 图片,1.3 MB,就不上传了,这里上传一张 macOS 预览导出的 JPG 无损压缩图:
彩色图像,JPG 无损压缩,762 KB。
彩色图像,WebP 75% 压缩比,53 KB。
彩色图像,WebP 85% 压缩比,85 KB。
彩色图像,WebP 无损压缩,120 KB。
第四部分:推荐方案
macOS 平台的 WebP Converter 从 JPG/PNG 转换 WebP 非常方便,简单的格式转换无需付费,使用高级功能,终身授权费用也只有 ¥25。
如果你也像我一样无法分辨各种转换质量的视觉效果差异,推荐使用 75% 的压缩比,这是经过测试的体积/画质最佳平衡点。
1 条评论
Typecho 1.2 对应的文件:
感谢:https://zengbin.tech/