【问题标题】:How to create avif files in php?如何在 php 中创建 avif 文件?
【发布时间】:2021-04-29 07:41:55
【问题描述】:

有人知道如何用php 编写avif 图像文件吗? 对于 webp 文件,我有函数 imagewebp。但是 avif?

在不同的服务器上使用 PHP 版本 7.4、7.1 和 7.2。

非常感谢

【问题讨论】:

    标签: php image avif


    【解决方案1】:

    编辑

    已经在 PHP 8.1 中实现https://php.watch/versions/8.1/gd-avif


    目前没有专门的功能可以做到这一点。 GD 已实现 AVIF 支持,但尚未在 PHP 中实现。他们正在努力 https://bugs.php.net/bug.php?id=80828 ,请为它投票。

    在这个函数完成之前,我想还有其他方法可以创建:

    (1) 使用 php exec/shell_exec 和命令行应用程序(如 imagemagik)。未经测试的代码:

    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";
    }
    

    (2) 使用像 Imagik 这样的 php 模块

    https://www.php.net/manual/en/book.imagick.php

    Verify ImageMagick installation


    对于这两种方法,您需要确保使用正确的库编译的最新版本的 ImageMagik。 https://github.com/ImageMagick/ImageMagick/issues/1432

    【讨论】:

      【解决方案2】:

      好消息 - the work's been done 在 libgd 中支持 AVIF,这项工作 has been propagated into PHP。它应该在 PHP 8.1 中发布。

      享受吧!

      【讨论】:

        【解决方案3】:

        不幸的是,目前还没有针对 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

        【讨论】:

        • 感谢 Dimitri 的快速回复。我害怕这个答案 ;-) 我会看看我是否可以在服务器上安装这样的转换器......如果不能:总有一天会有原生 php-avif-support :-)
        • 您好,在 gd 库中,有些人正在研究它:github.com/libgd/libgd/pull/670
        猜你喜欢
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 2021-05-19
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多