平时在网上搜索图片,另存为时常常遇到 WebP 格式,而非常见的 JPG、PNG、JPEG 格式,所以以此文记录一下WebP的读取和转换方法,希望对大家有所帮助!🥸
为什么在网页上常常搜到的图片是WebP格式?🤔🤔
WebP的高效属性
体积小,加载迅速:WebP 的核心优势在于其高压缩率。与 JPEG 相比,在保证相似视觉质量的前提下,WebP 能让文件大小减少约 25%-34%。这一优势无疑大大提升了网页加载速度,给用户带来了更流畅的体验。无论是浏览图片丰富的网页,还是快速加载包含大量图片的内容。
WebP格式的特点🛠️
结构差异:WebP源自VP8视频编解码器,其结构设计包含了帧内预测编码、有损与无损压缩机制,以及算术编码等先进算法。相比之下,PNG是一种无损图像格式,使用 zlib 压缩算法,支持透明度但缺乏高效的有损压缩手段。WebP的这种混合特性,使其在图像质量和文件大小之间找到了更佳平衡点。
透明度处理:WebP支持透明度(alpha通道),但采用了更高效的编码方式来处理透明区域,这是两者在透明度处理上的一大区别。
Python如何处理WebP格式📖
直接读取与图像处理
我们可以使用图像处理库Pillow,读取、处理WebP图像:
安装Pillow
首先,安装Pillow库:
pip install Pillow
读取WebP图像
from PIL import Image #打开WebP文件 image = Image.open('example.webp') #显示图像 image.show()
图像处理示例
Pillow支持各种图像处理操作,例如调整大小、旋转、滤镜应用等。以下是一个简单的图像尺寸调整示例:
# 调整图像大小并保存 resized_image = image.resize((800, 600)) resized_image.save('example_resized.webp', format='WEBP')
WebP转换成其他格式
我们可以使用pillow库将WebP转换为JPEG、PNG等格式:
# 将WebP转换为JPEG image.save('example.jpg', format='JPEG') # 将WebP转换为PNG image.save('example.png', format='PNG')
只需更改.save()
方法中的format
参数,即可实现格式间的转换。