图片格式 WebP、JPEG、PNG、SVG 及转换

文章目录

  • 图片格式 WebP、JPEG、PNG、SVG 及转换
    • 1. 图片格式
      • 1.1 WebP
      • 1.2 JPEG
      • 1.3 PNG
      • 1.4 SVG
      • 1.5 ...
    • 2. 格式转换
      • 2.1 Python 批量转 WebP
      • 2.2 在线转换工具
        • 2.2.1 Shutterstock
        • 2.2.2 PicWish
        • 2.2.3 MyEdit
        • 2.2.4 Freeconvert
        • 2.2.5 iLoveIMG
    • Reference

图片格式 WebP、JPEG、PNG、SVG 及转换

在当今数字时代,图像在网页设计和应用中扮演着至关重要的角色;选择适当的图像格式直接影响着网站的加载速度、用户体验和整体性能。

WebPJPGPNGSVG 等作为常见的图像格式,各具特色,对于不同的需求提供了多样化的解决方案。

1. 图片格式

1.1 WebP

维基百科:https://zh.wikipedia.org/wiki/WebP

WebP(发音:weppy)是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式。

由 Google 于 2010 年 9 月发布,旨在减少文件大小的同时,达到和 JPEG、PNG、GIF 格式相同的图片质量,并希望借此能够减少图片档在网络上的发送时间。

WebP 支持的像素最大数量是 16383 × 16383 16383 \times 16383 16383×16383。有损压缩的 WebP 仅支持 8-bit 的 YUV 4:2:0 格式;而无损压缩(可逆压缩)的 WebP 支持 VP8L 编码与 8-bit 之 RGBA 色彩空间;而无论是有损或无损压缩皆支持 Alpha 透明通道、ICC 色彩配置、XMP 诠释资料。

1.2 JPEG

维基百科:https://zh.wikipedia.org/wiki/JPEG

JPEG 或称 JPG,是一种针对照片影像而广泛使用的有损压缩标准方法,由联合图像专家小组(Joint Photographic Experts Group)开发。

使用 JPEG 格式压缩的图片文件一般也称为 JPEG Files,最普遍使用的扩展名格式为 .jpg,其他常用的还包括 .JPEG.jpe.jfif 以及 .jif。该格式的资料也能受嵌进其他类型的文件格式中,像是TIFF 类型的文件格式。

JPEG 是万维网上最普遍的用来存储和传输照片的格式,它并适合于线条绘图(drawing)和其他文字或图标(iconic)的图形,因为它的压缩方法用在这些类型的图形上,得到的结果并不好。

1.3 PNG

维基百科:https://zh.wikipedia.org/wiki/PNG

PNGPortable Network Graphics:便携式网络图形)是一种支持无损压缩的位图图形格式,支持索引、灰度、RGB 三种颜色方案以及 Alpha 通道等特性。PNG 的开发目标是改善并取代 GIF 作为适合网络传输的格式而不需专利许可,所以受广泛应用于互联网及其他方面上。

其另一个非正式的名称来源为递归缩写:“PNG is Not GIF”。

PNG 图片大多数都使用 PNG 作为扩展名,其 互联网媒体类型为 image/png。PNG于 1997 年 3 月作为知识性 RFC 2083 发布,于 2004 年作为 ISO/IEC 标准发布。

1.4 SVG

维基百科:https://zh.wikipedia.org/wiki/svg

SVGScalable Vector Graphics:可缩放矢量图形)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。

SVG由 W3C 制定,是一个开放标准。由于 SVG 是基于矢量的,所以在放大图片时是不会出现任何降低或丢失保真度的情况;这使得它非常适合多语境场景,例如响应式 Web 设计。

1.5 …

WebP、JPEG、PNG 总比较:

WebPJPEGPNG
图片大小最小较小较大
载入速度最快较慢
支持透明背景
支持动画
浏览器、软体支持较老的浏览器、软体不支持几乎都支持几乎都支持

上述几种图片格式作者会经常接触,还有其他几种(GIF、BMP、TIFF 等)不会过多涉及,仅提供超链接(均来源于维基百科):

GIF: https://zh.wikipedia.org/wiki/GIF

BMP:https://zh.wikipedia.org/wiki/BMP

TIFF:https://zh.wikipedia.org/wiki/TIFF

2. 格式转换

综上,WebP 格式的图片压缩效率更为出色,目前互联网的流量中有约 65% 为图片,这意味如果将 .jpeg.png 等转换为 .webp 格式的话,浏览网页的速度将大幅提升。

以下,给大家带来几种转换为 WebP 格式的方法或工具。

2.1 Python 批量转 WebP

要批量将不同格式的图片(.png.jpg.jpeg.tiff 等)转换为 .webp 格式,可以使用 Python 的 Pillow 库(PIL)来处理图像。

首先,需要确保已经安装 Pillow。如果还没有安装,可以使用以下命令安装:

pip install Pillow

然后,可以使用以下 Python 代码批量转换图片格式:

import os
from PIL import Imagedef convert_to_webp(input_path, output_path):try:image = Image.open(input_path)image.save(output_path, 'WEBP')print(f"Converted {input_path} to {output_path}")except Exception as e:print(f"Error converting {input_path}: {str(e)}")def batch_convert_to_webp(input_folder, output_folder):if not os.path.exists(output_folder):os.makedirs(output_folder)supported_formats = ['.png', '.jpg', '.jpeg', '.tiff', '.bmp', '.gif']for file_name in os.listdir(input_folder):if file_name.lower().endswith(tuple(supported_formats)):input_path = os.path.join(input_folder, file_name)output_path = os.path.join(output_folder, os.path.splitext(file_name)[0] + '.webp')convert_to_webp(input_path, output_path)if __name__ == '__main__':input_folder_path = './img-ori'output_folder_path = './img-webp'batch_convert_to_webp(input_folder_path, output_folder_path)

convert_to_webp: 该函数接受输入图片文件的路径和输出 WebP 图片文件的路径作为参数,使用 Pillow 库打开输入图片,并将其保存为 WebP 格式。如果转换成功,打印转换信息;如果失败,打印错误信息。

batch_convert_to_webp: 该函数用于批量转换指定文件夹中的图片文件。首先,它检查输出文件夹是否存在,如果不存在则创建。然后,它遍历输入文件夹中的所有文件,仅处理支持的图片格式。对于每个符合条件的文件,构建输出路径,并调用convert_to_webp函数进行转换。

最后,__name__ == '__main__' 部分用于在直接运行脚本时执行转换操作,你可以在这里指定输入和输出文件夹的路径。

示例输出:

Converted ./img-ori\1d7ow6.jpg to ./img-webp\1d7ow6.webp
Converted ./img-ori\2y2pwo.jpeg to ./img-webp\2y2pwo.webp
Converted ./img-ori\3p952p.bmp to ./img-webp\3p952p.webp
Converted ./img-ori\5por2l.tiff to ./img-webp\5por2l.webp
Converted ./img-ori\7rvgfs.png to ./img-webp\7rvgfs.webp
Converted ./img-ori\9exijz.png to ./img-webp\9exijz.webp
Converted ./img-ori\9oibji.png to ./img-webp\9oibji.webp
Converted ./img-ori\zwedxc.gif to ./img-webp\zwedxc.webp
Converted ./img-ori\zxcdfv.gif to ./img-webp\zxcdfv.webp

2.2 在线转换工具

2.2.1 Shutterstock

在线网址:https://www.shutterstock.com/zh/file-converter

2.2.2 PicWish

在线网址:https://picwish.com/convert-to-jpg

2.2.3 MyEdit

在线网址:https://myedit.online/cn/photo-editor/png-converter

2.2.4 Freeconvert

在线网址:https://www.freeconvert.com

2.2.5 iLoveIMG

在线网址:https://www.iloveimg.com/convert-to-jpg

Reference

源文档平台
WebP、JPG、PNG 是什么?教你如何挑选最优的图档格式哔哩哔哩
图片批量转换Webp工具,图片收集爱好者的利器!知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/585728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据压缩专题——静止图像的小波变换编码

随着数字图像技术的发展和应用的广泛,对图像的压缩和编码变得越来越重要。小波变换编码作为一种有效的图像压缩和编码方法,在静止图像处理中得到了广泛应用。本文将介绍静止图像的小波变换编码的基本原理和关键步骤,以及其在图像压缩中的应用…

nginx+keepalived实现七层负载

目录 一、部署nginx01、nginx02 二、keepalived配置(抢占模式、master- backup模式) 三、测试 四、非抢占模式(backup-backup模式) nginx01 11.0.1.31nginx0211.0.1.32虚拟IP(VIP)11.0.1.30 一、部署ngin…

java使用JSON工具解析字符串、数组详解

一:问题 1.最近自己在前后端数据交互时需要进行JSON格式字符串、数组数据进行转换,进行问题整理 2.遇到需要JSON字符串转换的朋友可以阅读 二:解析步骤 1.第一点首先确定需求,明确需要转的字符串是一个对象还是一个数组&#…

Large-Precision Sign using PBS

参考文献: [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the T…

Observer观察者模式(组件协作)

观察者模式(组件协作) 链接:观察者模式实例代码 解析 目的 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象&#xff0…

UI演示双视图立体匹配与重建

相关文章: PyQt5和Qt designer的详细安装教程:https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501Qt designer界面和所有组件功能的详细介绍:https://blog.csdn.net/qq_43811536/article/details/1351868…

MySQL 执行过程

MySQL 的执行流程也确实是一个复杂的过程,它涉及多个组件的协同工作,故而在面试或者工作的过程中很容易陷入迷惑和误区。 MySQL 执行过程 本篇将以 MySQL 常见的 InnoDB 存储引擎为例,为大家详细介绍 SQL 语句的执行流程。从连接器开始&…

Spring基础IoC(控制反转)与DI(依赖注入)

1. Spring 基础 1.1 什么是Spring框架?它能带来那些好处? Spring 是一个开源的轻量级的 Java 开发框架,可以帮助开发人员更高效的进行开发,主要优势在于简化开发和框架整合。 Spring框架整合了很多模块,这些模块可以…

LeetCode 刷题日志

文章目录 1954. 收集足够苹果的最小花园周长思考:暴力枚举代码实现二分查找代码实现 1954. 收集足够苹果的最小花园周长 1954. 收集足够苹果的最小花园周长 难度: 中等 题目大意: 给你一个用无限二维网格表示的花园,每一个 整…

Matplotlib ------ 纵坐标科学计数法含义

matplotlib 纵坐标科学计数法含义 引言正文 引言 今天画图时遇到了一个问题,发现纵坐标是科学计数法的表示,但是很难理解它的含义,这里特来记录一下。 正文 我们以下图为例, 由图上我们可以看出,纵坐标显示为 1e-…

PHP序列化总结3--反序列化的简单利用及案例分析

反序列化中生成对象里面的值,是由反序列化里面的值决定,与原类中预定义的值的值无关,穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象,对象创建的时候触发了construct方…

纯CSS3制作优惠券线性UI效果

纯CSS3制作优惠券线性UI效果-遇见你与你分享

《分布式事务理论基础:CAP定理 BASE理论》

目录 学习目标 1.分布式事务理论基础 1.1.本地事务 1.2.分布式事务 分布式事务产生的原因? 哪些场景会产生分布式事务? 单体系统会产生分布式事务问题吗? 只有一个库,会产生分布式事务问题吗? 分布式事务举…

rax3000m刷openwrt固件

rax3000m刷机过程(nand版本) 刷机准备文件https://www.123pan.com/s/X5m9-6Ynj.html提取码:VtBW 接线关系:路由器lan口接电脑 1.上传配置开启ssh的配置文件(登录路由器后台管理界面在找到配置管理,上传配置文件rax3…

HBase深度历险 | 京东物流技术团队

简介 HBase 的全称是 Hadoop Database,是一个分布式的,可扩展,面向列簇的数据库,是一个通过大量廉价的机器解决海量数据的高速存储和读取的分布式数据库解决方案。本文会像剥洋葱一样,层层剥开她的心。 特点 首先我…

【网络安全 | CTF】FlatScience

该题考察SQL注入 正文 后台扫到robots.txt 页面内容如下&#xff1a; 进入login.php 页面源代码如图&#xff1a; 传参debug得到php代码&#xff1a; <?php if(isset($_POST[usr]) && isset($_POST[pw])){$user $_POST[usr];$pass $_POST[pw];$db new SQLite3…

ArcGIS批量计算shp面积并导出shp数据总面积(建模法)

在处理shp数据时&#xff0c; 又是我们需要知道许多个shp字段的批量计算&#xff0c;例如计算shp的总面积、面积平均值等&#xff0c;但是单个查看shp文件的属性进行汇总过于繁琐&#xff0c;因此可以借助建模批处理来计算。 首先准备数据&#xff1a;一个含有多个shp的文件夹。…

【三维目标检测/自动驾驶】IA-BEV:基于结构先验和自增强学习的实例感知三维目标检测(AAAI 2024)

系列文章目录 论文&#xff1a;Instance-aware Multi-Camera 3D Object Detection with Structural Priors Mining and Self-Boosting Learning 地址&#xff1a;https://arxiv.org/pdf/2312.08004.pdf 来源&#xff1a;复旦大学 英特尔Shanghai Key Lab /美团 文章目录 系列文…

初识智慧城市

文章目录 智慧家居 智慧社区 智慧交通 智慧医疗 智慧教育 智慧旅游 智慧农业 智慧安防 智慧家居 利用智能语音、智能交互等技术,实现用户对家居系统各设备的远程操控和能控制如开关窗帘(窗户)、操控家用电器和照明系统、打扫卫生等操作。利用计算机视觉等技术,对被照看…

数据库——简单查询复杂查询

1.实验内容及原理 1. 在 Windows 系统中安装 VMWare 虚拟机&#xff0c;在 VMWare 中安装 Ubuntu 系统,并在 Ubuntu 中搭建 LAMP 实验环境。 2. 使用 MySQL 进行一些基本操作&#xff1a; &#xff08;1&#xff09;登录 MySQL&#xff0c;在 MySQL 中创建用户&#xff0c;…