可能你找的这些处理函数(类)功能比较强大,所以会有复杂的感觉。如果只是单纯的放大缩小,使用 GD 库,还是比较简单的。php 手册里有一个例子,使用 imagecopyresized 函数。完整的例子如下,你也可以直接看手册获取更多的信息,希望对你有帮助。
// PHP 手册 imagecopyresized 函数的例子
// File and new size
$filename = 'test.jpg';
$percent = 0.5;
// Content type
header('Content-Type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb);
用PHP怎么生成高质量的缩略图?
ImageMagick没用过,一般直接用内置的GD库,没有发现你说的这么严重的失真问题。
利用GD库创建缩略图的大致思路如下:
依据设定的尺寸创建真彩色画布$im=createtruecolor(120,90);
读取原始文件尺寸,按照原始尺寸的宽度和高度比例,计算出缩略图的大小(可能与给定的尺寸有一定的偏差)
将原始图像拷贝并缩放到创建的真彩色缩略图画布上。
输出缩略图文件。
可能就是因为利用的是这个真彩色,缩略图效果还凑合,也不是说绝对不失真的
你可以去后盾人平台看看,里面的东西不错