图片转素描这种技术,我们了解gd库的基础练习,使用场景比较少,但是会的话,总会让你在更多场合出彩;为我们的技术打下基础
// 黑白灰
$image_path = "1.jpg";
// $image_path="2.png";
$im = imagecreatefromjpeg($image_path);
//如果是Gif用imagecreatefromgif,PNG用imagecreatefrompng……
if (imageistruecolor($im)) {
imagetruecolortopalette($im, false, 256);
//如果是真彩色图象,将真彩色图像转换为调色板图像
}
for ($i = 0; $i < imagecolorstotal($im);/*获得调色板中颜色的数目*/ $i++) {
//获得颜色i点的颜色值
$rgb = imagecolorsforindex($im, $i);
//获得颜色灰度值
$gray = round(0.229 * $rgb['red'] + 0.587 * $rgb['green'] + 0.114 * $rgb['blue']);
//设置i点颜色值
if ($gray <= 150){
$gray = $gray+50;
}else if ($gray <= 200){
$gray = $gray+40;
}else if ($gray <= 218){
$gray = $gray+30;
}else if ($gray <= 240){
$gray = $gray+10;
} else if ($gray <= 250){
$gray = $gray+5;
} else{
$gray = 255;
}
imagecolorset($im, $i, $gray, $gray, $gray);
}
header('Content-Type: image/jpeg');
//设置图片类型,同样如果想生成gif或者png图象,要替换成相应的头
imagejpeg($im);
//输出图象,如果是gif就用imagegif,如果是png就用imagepng……
imagedestroy($im);
//销毁图象,释放资源