×

phpwebp扩展

phpwebp扩展(php event扩展)

admin admin 发表于2023-03-26 19:41:11 浏览54 评论0

抢沙发发表评论

本文目录一览:

PHP判断上传文件是不是webp?

WebP File Header

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| 'R' | 'I' | 'F' | 'F' |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| File Size |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| 'W' | 'E' | 'B' | 'P' |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

如果是WEBP格式 前12个字节是这样的 前4个字节应该是RIFF中间4个字节是文件长度后4个字节是WEBP 如果文件头不对那就100%不是webp格式

这里有详细文件格式的说明。

php有什么函数可以吧jpg或者png转换成webp

CloudConvert 能将 WebP 转换为各种图片格式,包括 bmp、eps、gif、ico、jpg、odd、pdf、png、ps、psd、svg、tiff、xcf。

性能团队提议在 WordPress 6.0 中默认启用 WebP

WordPress 的性能团队发布了一项功能提案,该提案将默认启用 WebP 图像,扩展对现代图像格式的核心支持。

2021 年 7 月,WordPress 5.8 引入了 WebP 支持,允许用户在其内容中上传和使用 WebP 图像。如果提案获得批准,6.0 版将默认为新的 JPEG 上传生成 WebP 图像,并默认为网站内容使用 WebP 图像。 -phpwebp扩展

“WebP 被开发为一种现代图像格式,可在网络上提供卓越的压缩,”WordPress 核心贡献者 Adam Silverstein 在功能提案中说。 “图像通常是网站使用的最大资源之一,使用 WebP 可以创建更轻、更快的网站。与 JPEG 图像相比,WordPress 生成的 WebP 图像几乎总是更小,文件大小平均减少约 30%(具有相同的视觉质量)。” -phpwebp扩展

在默认启用 WebP 的情况下,WordPress 用户不会对其通常的图像上传工作流程进行任何更改。 WordPress 会在后台自动将 JPEG 上传转换为 WebP 并在网站上使用它们。

根据 Can I Use,94.25% 网络浏览器支持 WebP 图像格式。极少数浏览器,例如 Internet Explorer 11 或 MacOS v11 Big Sur 上的 Safari,不支持 WebP。 提议的功能将附带两个过滤器来控制或禁用 WebP 上传,并且将创建一个用户友好的插件来做同样的事情。 尽管有显着的性能优势,但对功能提案的支持并非没有人反对。参与讨论的几位贡献者对不支持 WebP 的电子邮件客户端和社交媒体平台表示担忧。 -phpwebp扩展

“由于之前评论中提到的所有原因,我觉得 WebP 还没有准备好成为 post_content 中的‘硬编码默认’,”Kaspars Dambis 说。 “许多网络客户端(不仅仅是浏览器)不支持 WebP 格式——RSS 客户端、电子邮件客户端、智能电视、电子书阅读器、开放图形解析器、桌面图像查看器等。这些都是网络的重要用户。” Silverstein 回答了这些问题,确认 WordPress 将一如既往地继续生成 JPEG 图像的尺寸。 -phpwebp扩展

“关于此功能没有改变的一个重要说明:JPEG 子弹大小仍会生成并存储在相同的元字段中,”他说。 “出于这个原因,例如 RSS 提要或 REST 媒体端点或 OG 标签的消费者将继续使用 JPEG 小尺寸版本。” 性能团队的贡献者将 WordPress 6.0 定位为默认启用 WebP,并正在寻求图像组件维护者的批准。欢迎任何人通过安装 Performance Lab 插件并激活“WebP Uploads”模块来测试该功能。鼓励考试人员在 Trac 票证或 Pull Request 上留下反馈。-phpwebp扩展

动态WebP图片格式简介

最近接到一个Android端支持apng和webp动图播放的需求,所以对apng、webp图片格式进行了详细的学习,今天在这里针对webp格式的图片进行一下简介。

WebP是Google于2010年提出的一种新的图片压缩格式。它为网络图片提供了无损和有损压缩能力,同时在有损条件下支持透明通道。根据Google较早的测试,WebP的无损压缩比网络上找到的 PNG 档少了45%的文件大小,即使这些PNG档在使用 pngcrush 和 PNGOUT 处理过,WebP还是可以减少28%的文件大小。-phpwebp扩展

同时,谷歌于2014年提出了动态WebP,拓展WebP使其支持动图能力。动态WebP相比GIF支持更丰富的色彩,并且也占用更小空间,更适应移动网络的动图播放。

下面进入我们的主题,动态webp,这里我会对其文件格式用于解析播放的部分做一下讲解。

webp的播放原理类似于gif和apng,都是逐帧播放,记录每一帧变化区域的长宽、坐标、播放延时,来还原播放

首先我们来看一个示例:

上面就是一个动态webp该有的文件格式,下面我们来分析一下。

首部 :webp首部包含12字节,分别为RIFF、File Size以及WEBP,其中File Size为文件大小,WEBP为文件标示,我们可以根据WEBP来判断其文件格式

扩展格式 :扩展格式包括:VP8X用于指明使用的特性、可选的‘ICCP’用于色彩配置、可选的‘ANIM’用于动画控制、可选的‘EXIF’用于EXIF元数据、可选的‘XMP’用于XMP元数据。对于静态webp图片,其只包含1帧的数据,而动态webp包含多帧。-phpwebp扩展

l:当图像包含透明数据时置位。

a:动态WebP置位,此时ANIM和ANMF数据块中的数据将会被使用来控制动画。

Canvas Width Minus One:画布的真实宽度是该数值+1。

Canvas Height Minus One:画布的真实高度是该数值+1。

可以看出,我们可以通过此数据块拿到透明度、animation动画标记以及画布的宽高。

动画 :动画我们主要关注ANIM和ANMF块。

其中ANIM Chunk定义了动画的全局参数,包括backgroundColor以及loopCount。

而对于ANMF Chunk,其包含了一帧的图像数据,一个动画里面会包含多个ANMF Chunk。它内部定义了:

Frame X: 该帧数据左上角X坐标为该值 * 2。

Frame Y: 该帧数据左上角Y坐标为该值 * 2。

Frame Duration: 播放该帧后的延时时间。

Blending method (B): 标识如何混用前面画布的相应透明像素点。置0时,需要清空前一帧。置1时,不清空,直接渲染这一帧数据。

Disposal method (D): 标识该帧数据在被显示后如何处理画布。置0时不处理;置1时将画布矩形区域转换成ANIM定义的背景颜色。

Frame Data:以2字节为单位,包含图像比特流数据以及可选的透明度数据。

作为一种新兴的图片格式,webp在压缩算法上进行了优化,同时有着不错的显示效果。对于动图,它的体积比gif小,但是显示效果比gif强,但是支持广泛度上不如gif。