2012-10-26 2 views
1

Photoshop에는 "색상"이라는 투명 레이어 모드가 있는데,이 레이어는 아래 레이어의 밝기를 유지하지만 현재 레이어에서 색조/채도를 사용합니다.Image Magick을 사용하여 Photoshop의 "컬러"레이어 투명도를 에뮬레이트하는 방법은 무엇입니까?

나는 PHP 동적으로 일부 이미지의 색상을 변경해야하고, 나는 등/떨어져 보통의 곱셈에서 추가/것을 나는 의심

+0

ImageMagick은 포토샵에서 할 수있는 모든 것을 할 수 없습니다. 하나는 무료이고 다른 하나는 무료입니다. –

+0

분명히 ...하지만 내가 물어 보는 것은 PHP에서 액상화 도구가 아니라는 것입니다. 픽셀 혼합 연산이 필요합니다.이 연산은 아래의 해답과 같이 매우 직관적이어야합니다. – Pier

답변

1

을 수행하는 알고리즘을 무엇에 어떤 정보를 FND 할 수 있었다 havent 한 알고리즘은 두 이미지를 RGB에서 HSV로 변환 한 다음 색조 채널을 기본 이미지로 복사합니다.

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

는 "포토샵"스타일의 요구와 함께 당신을 도울 수있는 도서관이있다. pslayers이라고합니다.

원하는 모든 믹스 모드를 사용할 수 있으며 원하는만큼 많은 레이어를 쌓을 수 있습니다. 그것은 또한 필터링을 지원합니다.

관련 문제