您需要使用PHP的ImageMagick或GD函数来处理图像。
以GD为例,它就像...
function resize_image($file, $w, $h, $crop=FALSE) {
list($width, $height) = getimagesize($file);
$r = $width / $height;
if ($crop) {
if ($width > $height) {
$width = ceil($width-($width*abs($r-$w/$h)));
} else {
$height = ceil($height-($height*abs($r-$w/$h)));
}
$newwidth = $w;
$newheight = $h;
} else {
if ($w/$h > $r) {
$newwidth = $h*$r;
$newheight = $h;
} else {
$newheight = $w/$r;
$newwidth = $w;
}
}
$src = imagecreatefromjpeg($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
return $dst;
}
您可以像下面这样调用此函数...
$img = resize_image(‘/path/to/some/image.jpg’, 200, 200);
从个人经验来看,GD的图像重采样也确实大大减小了文件大小,尤其是在对原始数码相机图像重采样时。
0
我想编写一些PHP代码,该代码会自动将通过表单上传的所有图片的大小调整为147x147px,但我不知道如何处理(我是相对的PHP新手)。
到目前为止,我已经成功上传了图像,可以识别文件类型并清理了名称,但是我想在代码中添加调整大小功能。例如,我有一个测试图像,大小为2.3MB,尺寸为1331x1331,我希望代码缩小尺寸,我想它也会大大压缩图像的文件大小。
到目前为止,我有以下几点: