缩小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中的图像以快速查看并保持质量[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CSS 拉伸图像以适应屏幕并保持纵横比?

Android Java:在保持质量的同时缩小位图?

容器中显示的图像 - 如何按比例缩小并保持纵横比

快速转换后保持相同的图像质量

图像查看一维以适应可用空间,第二个评估以保持纵横比

使用 PHP 缩放图像并保持纵横比