php GD Libraries;如何在裁剪前检测图像是否有更多白色或黑色以避免伪影

时间:2016-03-20 15:17:53

标签: php gd

是否可以检测图像是否包含更多白色或更黑...

我有一个工作裁剪功能,但是当我想裁剪图像时(在某些情况下),结果会产生伪影

示例1:

  • 白色图片; enter image description here

  • 裁剪enter image description here

  • 时给予此结果

示例2(ok):

  • 图片黑色更多:enter image description here

  • 给出正确的结果:enter image description here

代码

$newImage300 = imagecreatetruecolor($jFinalWidth,$jFinalHeight);
$wcolor = imagecolorallocate($newImage300, 0, 0, 0);
imagefill($newImage, 0, 0, $wcolor);
imagecopyresampled ($newImage300, $newImage, 0, 0, 0, 0, $jFinalWidth, $jFinalHeight, $jWidth, $jHeight);

// save image       
imagejpeg($newImage,__path_to_new_saved_img___,70);

可以添加哪种代码来避免示例1中的工件?

改变灰色更糟糕......

查看结果:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

我通过imagefill改变了imagecolortransparent和il!

进行了试用

查看结果 enter image description here enter image description here

工作(固定)代码:

$newImage300 = imagecreatetruecolor($jFinalWidth,$jFinalHeight);
$wcolor = imagecolorallocate($newImage300, 0, 0, 0);
imagecolortransparent($newImage, $wcolor);
imagecopyresampled ($newImage300, $newImage, 0, 0, 0, 0, $jFinalWidth, $jFinalHeight, $jWidth, $jHeight);

// save image       
imagejpeg($newImage,__path_to_new_saved_img___,70);