我需要根据我的页面php上的重量来调整图像大小。
例如:我有10MB的图像,当我上传图像时,我想调整大小为5MB。
可能吗?
答案 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" />
值得注意的是,这不一定会使图像尺寸减半,但在大多数情况下会缩小尺寸。