php根据页面上的重量调整大小图像

时间:2015-06-19 10:07:56

标签: php image resize

我需要根据我的页面php上的重量来调整图像大小。

例如:我有10MB的图像,当我上传图像时,我想调整大小为5MB。

可能吗?

2 个答案:

答案 0 :(得分:0)

<?php
header('Content-type: image/jpeg');
$filename = 'http://www.yoursite.com/images/cowboybebop27.JPG';
$image = imagecreatefromjpeg($filename);
$dest='temp_image.jpg';
imagejpeg($image, null, 10);
imagejpeg($image, $dest, 10);
?>

上面的代码将拉出图像并将其保存在temp_image.jpg的文件位置。

 imagejpeg($image, null, 10); //This line displays the image with a quality of 10% which is roughly 1/10 the original file size as well.

imagejpeg($image, $dest, 10); //This line saves the image with an image quality of 10%.

请参阅here

答案 1 :(得分:0)

如果您使用图书馆可以,请查看WideImage

<?php
include "path/to/WideImage.php";

$image = 'path/to/image.jpg';
$wi_image = WideImage::load($image);

//Get the file size & dimensions of the image
$size = filesize($image);
$dimensions = getfilesize($image);

//Determine image size
if ($size > 10000000) {
    //Image is over 10MB - half dimensions
    $resized = $wi_image->resize(
        $dimensions[0] / 2,  //half of width
        $dimensions[1] / 2   //half of height
    );

    //Save image
    $resized->saveToFile('small.jpg');
}
?>

<img src="small.jpg" />

值得注意的是,这不一定会使图像尺寸减半,但在大多数情况下会缩小尺寸。