缩略图更清晰了:imagecopysampled代替imagecopyresized

之前用 imagecopyresized() 生成缩略图,但是效果不是太理想,后来把 imagecopyresized() 换成 imagecopysampled() ,效果好太多了,图片变得更加清晰了。

通过对比图,很明显看出,imagecopysampled()生成的缩略图,清晰度高很多。

下面是imagecopysampled()生成缩略图的代码。

=$dst_scale){  // 过高
    $w = intval($src_w);
    $h = intval($dst_scale*$w);
 
    $x = 0;
    $y = ($src_h - $h)/3;
} else { // 过宽
    $h = intval($src_h);
    $w = intval($h/$dst_scale);
 
    $x = ($src_w - $w)/2;
    $y = 0;
}
 
// 剪裁
$source=imagecreatefromjpeg($src_img);
$croped=imagecreatetruecolor($w, $h);
imagecopy($croped, $source, 0, 0, $x, $y, $src_w, $src_h);
 
// 缩放
$scale = $dst_w / $w;

你可能感兴趣的:(linux,运维,服务器)