2017-03-05 11 views
0

私は透明なpng画像(モノクロ)を持っています。私はカラーのGDフィルタを適用します。今は色が変わっていますが、私は透明性を取り除くために白い背景を適用するのに問題があります。私はもう見ることができないので、これを並べ替えるどんな助けも。 は、私は後方にそれをやっていた実現良い睡眠の後にあなたにGD IMG_FILTER_COLORIZEの後にPNG透過画像にバックグラウンドを適用

list($r,$g,$b) = array_map('hexdec',str_split($ColourPrimary,2)); 
    $r = $r - 52; 
    $g = $g - 52; 
    $b = $b - 52; 

    imagesavealpha($im, true); 
    imagefilter($im, IMG_FILTER_COLORIZE, $r, $g, $b); 

    $bw = imagesx($im); 
    $bh = imagesy($im); 
    $background = imagecreatetruecolor($bw,$bh); 
    $bkwhite = imagecolorallocate($background, 255, 255, 255); 
    imagefill($background,0,0,$bkwhite); 
    imagecopy($background, $im, 0, 0, 0, 0, $bw, $bh); 

答えて

1

ありがとうございます。最初に背景を適用し、上に画像をコピーしました。

list($r,$g,$b) = array_map('hexdec',str_split($ColourPrimary,2)); 
    $r = $r - 52; 
    $g = $g - 52; 
    $b = $b - 52; 

    $imfore = imagecreatefrompng(FILELOCATION); 
    imagesavealpha($imfore, true); 
    imagefilter($imfore, IMG_FILTER_COLORIZE, $r, $g, $b); 
    $bw = imagesx($imfore); 
    $bh = imagesy($imfore); 

    $im = imagecreatetruecolor($bw,$bh); 
    $bkwhite = imagecolorallocate($im, 255, 255, 255); 
    imagefill($im,0,0,$bkwhite); 
    imagecopy($im, $imfore, 0, 0, 0, 0,$bw,$bh); 
関連する問題