2017-12-30 5 views
0

gdを使ってイメージの上にカラーレイヤーを追加したい。PHP GD - イメージの上にカラーレイヤーを追加する

これはイメージです:Image

私はこの色でこれをオーバーレイしたい:#1 ABD0D2

私はそれが最後にどのように見えるべきか迅速なイメージを作りました。

$img = imagecreatefrompng('image.png'); 

imagesavealpha($img, true); 
imagefill($img, 0, 0, imagecolorallocatealpha($img, 0, 0, 0, 127)); 

// make overlay with new color??? 

imagepng($img, 'new.png'); 
imagedestroy($img); 

答えて

0

あなたの目標色で満たされ、新しいイメージを作成し、次に2をマージすることができます: 画像はまだこれまでのところ、私はこのコードを持っている enter image description here

透明でなければならないことに注意してください:

$img = imagecreatefrompng('image.png'); 
$w = imagesx($img); 
$h = imagesy($img); 
imagesavealpha($img, true); 

$img2 = imagecreatetruecolor($w, $h); 
imagefill($img2, 0, 0, imagecolorallocatealpha($img, 0xAB, 0xD0, 0xD2, 64)); 

imagecopy($img, $img2, 0, 0, 0, 0, $w, $h); 

imagepng($img, 'new.png'); 
imagedestroy($img); 
imagedestroy($img2); 

結果:

enter image description here

透明性を維持する方法(期待される結果画像が透明でないため)を完全にはわかりません。上のコードでは、「マスク」の色を50%の不透明度に設定しています。

+0

@Tafelglotzerこれに対する返答はありますか? – timclutton

関連する問題