缩小php中的图像以快速查看并保持质量[关闭]
Posted
技术标签:
【中文标题】缩小php中的图像以快速查看并保持质量[关闭]【英文标题】:Downsize image in php for fast viewing and still keep quality [closed] 【发布时间】:2014-05-10 05:57:09 【问题描述】:我们将上传大小超过 2,500 像素的大约 3 兆字节的图片。我的代码用于上传多个图像,现在希望将它们调整大小或缩小到大约 500 像素宽的网络查看大小。我希望它保持良好的质量,但下载时间不长。我会有一个预览,当你点击它时,它会在灯箱中打开以获得更大的图像,该图像将是 500 像素或任何我可以逃脱的图像,并且仍然可以快速下载。
如果有人可以帮助我修改我的代码以按比例调整为 500 像素宽,我将不胜感激。
$valid_formats = array("jpg", "png", "gif", "bmp");
$max_file_size = 100 * 1024 * 1024; //100 mb
$path = "PW-Files/$listingid/images/"; // Upload directory
$count = 0;
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
// Loop $_FILES to execute all files
foreach ($_FILES['files']['name'] as $f => $name)
if ($_FILES['files']['error'][$f] == 4)
continue; // Skip file if any error found
if ($_FILES['files']['error'][$f] == 0)
if ($_FILES['files']['size'][$f] > $max_file_size)
$message[] = "$name is too large!.";
continue; // Skip large files
elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) )
$message[] = "$name is not a valid format";
continue; // Skip invalid file formats
else // No error found! Move uploaded files
$ext = end(explode('.', $name));
$newname = rand(10,10000) . rand(10,1000) . "." . "$ext";
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$newname))
$count++; // Number of successfully uploaded files
【问题讨论】:
使用 imagecopyresampled 调整图像大小。 这个问题似乎是题外话,因为它是一个请给我代码问题,并且没有显示 OP 尝试解决问题。 【参考方案1】:要调整图像大小,您可以使用WideImage(用于图像处理的 php 库)。
它提供了简单的方法来调整图像大小,例如:
$image = WideImage::load( 'yourImage.jpg' );
$resizedImage = $image->resize( $width, $height );
调整大小后也可以保存文件。
$resizedImage->saveToFile( 'filename.jpg' );
有关详细信息,请参阅他们的documentation。
【讨论】:
以上是关于缩小php中的图像以快速查看并保持质量[关闭]的主要内容,如果未能解决你的问题,请参考以下文章