我可以用PHP更改图像文件大小吗?

时间:2013-02-20 00:34:54

标签: php image-processing

我制作了一个小功能来上传图片,然后在我的网站上显示。

现在我的问题是,我可以在上传的同时更改图片的文件大小吗?

以facebook为例。即使是大型图像的大小也只有65kb。

如果是这样,我应该使用女巫功能吗?

谢谢,

2 个答案:

答案 0 :(得分:2)

使用imagecopyresampled功能:

$source_image = imagecreatefromjpeg("youtimagejpg");
$src_w= imagesx($source_image);
$src_h= imagesy($source_image);
$dest_image = imagecreatetruecolor(100, 100); //targeted width and height

imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, 100, 100, $source_w, $source_h);
imagejpeg($dest_image,NULL,80); 
//Replace null by the path if you want to save on the server, otherwise the image will be sent to the client intead.

如果您想在不调整图像尺寸的情况下缩小图像尺寸;使用imagejpeg函数(质量因子较低)

答案 1 :(得分:0)

有以下方法可以更改图像尺寸:

  1. 转换为其他图片格式。
  2. 使用有损压缩(http://en.wikipedia.org/wiki/Lossy_compression
  3. 保存图像
  4. 以另一宽度&重新取样图像身高(http://php.net/manual/en/function.imagecopyresampled.php