PHP建图通常都用GD库,因为是内置php中能否改变文件大小的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果php中能否改变文件大小你的程序主要的功能就是处理图像,那麼就不建议用GDphp中能否改变文件大小了,因为GD不但低效能而且能力也比较弱,占用的系统资源也颇多。
ImageMagick是一套功能强大、稳定而且免费的工具集和开发包php中能否改变文件大小,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。(imagemagick是PHP扩展,需要安装。)
示例如下:
$width = $height = 100;
$im = new Imagick();
$im->readImage($images);
//按照比例进行缩放
$im->unsharpMaskImage(0,1,2,0.03);
$im->thumbnailImage($width,$height);
$srcWH = $im->getImageGeometry(); //获取源图片宽和高
// 按照缩略图大小创建一个有颜色的图片
$new_img= new Imagick();
$new_img->newImage( $srcWH['width'], $srcWH['height'], 'white', 'jpg' );
//合并图片
$new_img->compositeImage( $im, imagick::COMPOSITE_OVER, 0, 0);
/*//生成图片
$new_img->setImageFileName($target_img);
$new_img->writeImage(); */
//输出图片
header("Content-Type:image/jpeg");
echo $new_img;