如何像 imagick 在 libvips 中那样合并图像层

How to do merge image layers like imagick does in libvips

我正在使用 libvips php 库我想使用 libvips 合并图像层。 libvips 中是否有像 imagick 这样的合并图像层的方法如下

$img = $img->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);

您可以使用 ->flatten() 压缩图像中的 alpha。文档在这里:

https://libvips.github.io/php-vips/docs/classes/Jcupitt.Vips.ImageAutodoc.html#method_flatten

不幸的是,phpdoc 不允许您记录可选参数,因此您需要参考 C 文档以查看额外的控件:

https://libvips.github.io/libvips/API/current/libvips-conversion.html#vips-flatten

您可以使用 unset 删除波段,因此您可以使用例如从 RGBA 图像中删除 alpha。 unset($image[3]).