谁知道如何在php中编写avif图像文件?对于webp文件,我有一个函数imagewebp。但是avif呢?
在不同的服务器上使用PHP版本7.4、7.1和7.2。
非常感谢
发布于 2021-04-01 18:15:47
编辑
它已在PHP8.1 https://php.watch/versions/8.1/gd-avif中实现
目前还没有专门的功能来做到这一点。GD已经实现了AVIF支持,但尚未在PHP中实现。他们正在努力,https://bugs.php.net/bug.php?id=80828,请投赞成票。
在创建该函数之前,我想还有其他方法可以创建:
(1)使用php /shell和一个命令行应用程序(如)的应用程序。未测试的代码:
if (function_exists("exec")) {
$command = "convert -size 600x600 canvas:white white.avif ";
exec($command, $output);
print("<pre>".print_r($output,true)."</pre>"); //debug
}
else {
echo "EXEC function is not available. See php.ini disabled_functions.<br />\n";
}使用模块的php (2)
https://www.php.net/manual/en/book.imagick.php
Verify ImageMagick installation
对于这两种方法,您都需要确保使用正确的库编译了最新版本的ImageMagik。https://github.com/ImageMagick/ImageMagick/issues/1432
发布于 2021-01-25 21:47:47
不幸的是,目前还没有对AVIF/AV1图像文件格式的原生PHP支持(在我所知的任何PHP版本中)。
PHP通常依赖于GD、ImageMagick、GMagick (和Exif)图像库,所以-除非这些图像库支持AVIF/AV1图像文件格式,否则恐怕不会有一个简单的(和“原生”的)解决方案。可能有一些第三方库可以支持这一点,可能是用纯PHP编写的,但是这种格式相对较新,还没有得到广泛的支持,所以我认为这些库需要一段时间才能获得,而纯PHP图像处理库在性能方面可能效率很低。
也就是说,我想你可以考虑使用一种变通的办法,那就是PHP-生成任何其他图像格式(比如JPEG或PNG)的图像,然后使用命令行工具将生成的图像文件转换为AVIF/AV1?
有关示例https://reposhub.com/rust/image-processing/kornelski-cavif.html,请参阅
发布于 2021-08-12 01:18:53
好消息- the work's been done在libgd中支持AVIF,这项工作是has been propagated into PHP。它应该在PHP 8.1中发布。
享受吧!
https://stackoverflow.com/questions/65885825
复制相似问题