1

コードで入力され、データベースから収集された画像を収集するシステムを構築しました(私の質問には重要ではありません)が、基本的には一連の画像の色を変更するために使用されます。私が抱えている問題は、使用しようとしている画像がグレースケールですが、グレースケールの端が間違っていることです!

基本的に、私が持っている画像は白が黒の上に移動しています。しかし、imagefilledrectangle では、RGB 127.5,127.5,127.5 のみが選択された正確な色であり、白ではありません...どうすればこれを変更できますか?

それが役立つ場合、これが私のコードです:

function postimage(&$image, $dir, $name, $check, $override, $color)
{
    $temp = imagecreatefrompng("./images/imager/".$dir.$name.".png");
    imagelayereffect($temp, IMG_EFFECT_OVERLAY);
    if ($check == 0)
    {
        imagefilledrectangle($temp, 0, 0, 64, 110, imagecolorallocate($temp, $color[0], $color[1], $color[2]));
    }
    else if ($check == 1)
    {
        if ($override == 0)
        {
            imagefilledrectangle($temp, 0, 0, 64, 110, imagecolorallocate($temp, 255, 255, 255));
        }
    }
    $black = imagecolorallocate($temp, 255, 255, 255);
    imagecolortransparent($temp, $black);
    imagecopymerge($image, $temp, 0, 0, 0, 0, imagesx($temp), imagesy($temp), 100);
    imagedestroy($temp);
    return true;
}

前もって感謝します

4

0 に答える 0