我已经建立了一个系统,该系统收集由代码输入并从数据库中收集的图像(对我的问题并不重要),但基本上它用于重新着色一系列图像。我遇到的问题是我尝试使用的图像是灰度的,但是灰度的末端错误!
基本上我拥有的图像是白色的,变成黑色的。但是 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;
}
提前致谢