2012-10-26 36 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

你可以使用任何你想要的混合模式,併爲你喜歡疊儘可能多的層。它也支持過濾。