コードで入力され、データベースから収集された画像を収集するシステムを構築しました(私の質問には重要ではありません)が、基本的には一連の画像の色を変更するために使用されます。私が抱えている問題は、使用しようとしている画像がグレースケールですが、グレースケールの端が間違っていることです!
基本的に、私が持っている画像は白が黒の上に移動しています。しかし、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;
}
前もって感謝します