【问题标题】:Simulate Photoshop's Multiply in PHP with gd or ImageMagick使用 gd 或 ImageMagick 在 PHP 中模拟 Photoshop 的乘法
【发布时间】:2011-03-30 08:47:58
【问题描述】:

到目前为止,我只使用 PHP 的 gd 图像库来调整图像的大小、裁剪和灰度图像我目前正在努力寻找一种方法来模拟在 Photoshop 中将彩色图层放在灰度图像上并选择“相乘”时发生的情况' 从图层效果菜单中。或者,正如我的老印刷讲师所解释的那样,我需要制作双色调。

出于某种原因,我认为我需要做的就是简单地将图像转换为灰度,然后在顶部放置一个透明度值小于 100% 的彩色图层。完成此操作后,我想知道为什么我会认为我会得到任何东西而不是褪色。

然后搜索 gd 库文档,我只能找到与 imagelayereffect 一起使用的 IMG_EFFECT_OVERLAY 过滤器,但这样做的结果是让我的灰度图像的白色保持白色而不是红色。

我以前没有使用过 ImageMagick(但这是我可以控制服务器的少数情况之一,因此我可以在需要时安装它)并且在过去浏览过文档后,我推测像 Photoshop 的 multiply 这样的东西将是它的默认过滤器之一。唉,没有。

我疲惫的大脑正在努力理解 Photoshop 的 multiply 在逐个像素的基础上实际上在做什么,所以我不知道我可以使用的 ImageMagick 的系列(或者如果可能的话,gd 的)更基本的过滤器得到我需要的结果。

最后期限迫在眉睫,Google 拒绝返回任何有用的结果,因此我们将不胜感激地收到任何帮助。

【问题讨论】:

    标签: php image imagemagick gd


    【解决方案1】:

    我发现这是在 imagemagick PHP 中应用乘法的最简单方法

    $print = new Imagick("blank.jpg");
    $printOverlayTexture = new Imagick("overlay.jpg");
    $print->compositeImage($printOverlayTexture, Imagick::COMPOSITE_MULTIPLY, 0, 0);
    

    【讨论】:

      【解决方案2】:

      对于它的价值,这里是一个方便的花花公子 ImageMagick 脚本的集合。它们不是我的,但我发现自己经常提到它们

      ImageMagick Scripts

      【讨论】:

        【解决方案3】:

        ImageMagick 确实有一个multiply operation。我不能说它在结果和质量上与 Photoshop 有多接近(我也不太了解它的作用:),但一定要尝试一下。

        【讨论】:

        • 我认为它会有,非常感谢您的参考。我会调查一下,如果接近了,我会给你一个绿色的大勾号。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        相关资源
        最近更新 更多