【问题标题】:How to do merge image layers like imagick does in libvips如何像 imagick 在 libvips 中那样合并图像层
【发布时间】:2020-08-19 08:23:48
【问题描述】:

我正在使用 libvips php 库,我想使用 libvips 合并图像层。 libvips中是否有任何方法可以合并像imagick这样的图像层,如下所示

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

【问题讨论】:

    标签: vips


    【解决方案1】:

    您可以使用->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]).

    【讨论】:

    • 有没有办法在php中直接调用vips_addalpha这个方法?
    • 只需执行$image[] = 255; 即可附加一个实心255 的额外波段。
    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多