使用phpThumb(或任何其他图像大小调整库)生成大拇指有一个大问题
首先让我告诉你一个明显的问题: http://aep.w3mt.biz/content/mediacontent/products/427/aztec-pearls-1.jpg_gz.jpg(这是生成的图片) http://aep.w3mt.biz/content/mediacontent/products/427/aztec-pearls-1.jpg(这是源图片)
正如你所看到的,图像更大,它是通过php thumb,100%qualiti,fill color生成的。
源图像的背景为纯白色,但生成图像的背景具有水平#fefefe条纹。这在水晶般清晰的显示器上是可见的并且非常烦人。
我想知道是否有人遇到过这个问题以及是否有针对此错误的解决方案。
生成的其他尺寸:
提前谢谢!
答案 0 :(得分:0)
以下是我生成缩略图的方法,欢迎您试试这个:
header("Content-type: image/jpeg");
$collection = $_GET['collection'];
$ref = $_GET['ref'];
$maxthumb=100;
$filename=DirectoryNameFromCollectionNumber($collection) . "/" . $ref . ".jpg";
$size = getimagesize($filename);
$ratio = $size[0]/$size[1]; // width/height
if( $ratio > 1) {
$width = $maxthumb;
$height = $maxthumb/$ratio;
}
else {
$width = $maxthumb*$ratio;
$height = $maxthumb;
}
$src = imagecreatefromstring(file_get_contents($filename));
$dst = imagecreatetruecolor($width,$height);
imagecopyresampled($dst,$src,0,0,0,0,$width,$height,$size[0],$size[1]);
imagedestroy($src);
imagejpeg($dst);
imagedestroy($dst);