首先,您需要将GD Image Library加载到您的服务器。
定义图像路径并使用imagecreatefrompng创建图像对象,如果图像类型不同,请选择正确的图像路径。
$image_path = $_SERVER['DOCUMENT_ROOT']."/assets/img/horse1.png";
$image_obj = imagecreatefrompng($image_path);
现在,我们需要应用过滤器,如果您的条件提供。使用imagefilter函数将任何过滤器应用于图像。在这个例子中,IMG_FILTER_GRAYSCALE很公平,或者你可以通过使用函数手册来改变它。
if($row['normal'] == 0) {
$op_result = imagefilter($image_obj,IMG_FILTER_GRAYSCALE);
}
最后,我们需要使用imagepng函数将图像保存到服务器。
imagepng($image_obj,$_SERVER['DOCUMENT_ROOT']."/assets/img/horse1_black.png");
请检查下面的完整代码beacuse我强烈建议您不要为每个用户创建黑色图像。如果你的图像已经存在于你的服务器上,只需显示它而不需要任何创建。
$image_path = $_SERVER['DOCUMENT_ROOT']."/assets/img/horse.png";
$black_image_path = $_SERVER['DOCUMENT_ROOT']."/assets/img/horse_black.png";
if($row['normal'] == 0) {
if(file_exists($black_image_path)){
return $black_image_path; //if your black image is already exist just return and use it.
}
else {
$image_obj = imagecreatefrompng($image_path); //create a image object from a path
$op_result = imagefilter($image_obj,IMG_FILTER_GRAYSCALE); //applying grayscale filter to your image object.
if($op_result) {
imagepng($image_obj,$black_image_path); //save the image to defined path.
return $black_image_path;
}
else {
return "Error Occured.";
}
}
}
你能分享你的图片吗,只是其中之一?你有任何图像库,你在你的服务器使用像imagick等 – oguzhancerit
它基本上在这里的主页上的任何图像,虽然这并不是所有的人,http://calona.co.uk/ 我希望他们被黑如果用户还没有发现他们 –
好的。服务器中是否有任何图像库? – oguzhancerit