2012-10-26 113 views
1

所以在Photoshop中有一个名为“色”透明图层模式,保留从下一层的亮度,但需要色相/饱和度从当前层。如何用Image Magick模拟Photoshop的“颜色”层透明度?

我需要用PHP动态改变一些图像的颜色,我还没有能够测量值上有什么算法来做到这一点,除了通常的乘/加/等

+0

ImageMagick的不能做的一切Photoshop可以。一个是免费的,另一个不是。 – 2012-10-26 04:10:51

+0

显然...但我问是不是在PHP,我想这应该是相当简单的如通过下面的答案像素混合操作的液化工具。 – Pier

回答

1

我怀疑任何信息该算法将两幅图像从RGB转换为HSV,然后将Hue通道复制到基本图像。

ImageMagick的具有hue composite运营商,这是在PHP imagick::COMPOSITE_HUE。根据comment here,这应该工作:

<?php 

$img1 = new Imagick("image1.png"); 
$img2 = new Imagick("image2.png"); 

$img1->compositeImage($img2, imagick::COMPOSITE_HUE, 0, 0); 

header('Content-type: image/png'); 
echo $img1; 

?> 
+0

这可以在每个像素的基础上完成吗? – Pier

+1

不确定你的意思?你想限制一个区域的效果?如果是这样,你可以使用一个掩码复合,不能看到如何使用PHP这样做,但[命令行工具,允许它(http://www.imagemagick.org/Usage/compose/#mask ) – dbr

1

有一个库,可以帮助你“的Photoshop”的风格要求。它被称为pslayers

你可以使用任何你想要的混合模式,并为你喜欢叠尽可能多的层。它也支持过滤。