在我们的自定义CMS中,我有一个非常复杂的脚本来处理图像裁剪/调整大小,它构建在本地PHP 8上。
我觉得我需要先阐述一下我的问题:
我正在剪切图像,并将它们保存为.webp文件,以提高灯塔的得分,这很好,但我有一个小问题,我希望你能帮助我。
我用函数imagewebp(image, dest, quality)保存图像,我们确保可以在每个图像的基础上控制图像的质量。因此,如果我们想要的话,可以将一个文件裁剪成70%的质量,而另一个文件的质量是90 %。现在的问题是改变质量。
每次向裁剪器发出请求时,它都会检查原始文件是否比缓存的裁剪版本更新,如果是新的,它将创建一个新的缓存版本。相当标准的东西。但是,如果没有对数据库进行一些重大的更改,种植者如何知道质量是否发生了变化?
示例
我们有图像1 view,我们在500x500 of上查看它,质量为70%。现在我们想要更高的质量,因为某种原因,比如说90%。我们要改变这一点。下一次向裁剪器发出请求时,它会检查文件日期,而且由于原始文件没有更新,所以它也不会重新记录图像,尽管我们希望质量有所改变。
我的问题:有什么方法可以让我读到裁剪文件中的质量设置吗?所以我可以看到它是否改变了,如果是的话,重新恢复它。
我知道我可能会用文件名等来做这件事,但这需要做一些很大的修改。
发布于 2022-09-18 08:59:10
除了lossless/lossy,之外,我不知道WEBP映像中有任何字段可以告诉您用于编码它的确切参数--特别是质量。您可以通过以下方法获得该参数:
webpinfo YOURIMAGE与其更改文件的名称以记录编码参数,不如使用扩展文件属性将该信息与文件一起保存,因为这样不会更改您的命名,这可能会对应用程序产生重大影响。
https://stackoverflow.com/questions/73703903
复制相似问题