そのため、Photoshopには、「カラー」と呼ばれる透明レイヤーモードがあります。これは、下のレイヤーからの明るさを保持しますが、現在のレイヤーから色相/彩度を取得します。
PHPを使用して一部の画像の色を動的に変更する必要がありますが、通常の乗算/加算/などを除いて、それを行うためのアルゴリズムについての情報を見つけることができませんでした。
そのため、Photoshopには、「カラー」と呼ばれる透明レイヤーモードがあります。これは、下のレイヤーからの明るさを保持しますが、現在のレイヤーから色相/彩度を取得します。
PHPを使用して一部の画像の色を動的に変更する必要がありますが、通常の乗算/加算/などを除いて、それを行うためのアルゴリズムについての情報を見つけることができませんでした。
アルゴリズムは、両方の画像をRGBからHSVに変換してから、色相チャネルをベース画像にコピーすることだと思います。
ImageMagickには、PHPの色相合成演算子があります。ここでのコメントimagick::COMPOSITE_HUE
に基づいて、これは機能するはずです:
<?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;
?>
「フォトショップ」スタイルの要件に役立つライブラリがあります。それはpslayersと呼ばれます。
必要なミックスモードを使用して、必要な数のレイヤーをスタックできます。フィルタリングもサポートしています。