繁体   English   中英

如何在不损失 PHP 质量的情况下减小图像大小 [关闭]

[英]How to reduce the image size without losing quality in PHP [closed]

我正在尝试开发一个基于图像的网站。 对于更快的页面加载速度和最佳压缩实践的最佳图像类型,我真的很困惑。 请告诉我压缩图像大小的最佳方法。

如果您希望使用编码本身来减小大小,您可以在 php.ini 中遵循此代码。

<?php 
function compress($source, $destination, $quality) {

    $info = getimagesize($source);

    if ($info['mime'] == 'image/jpeg') 
        $image = imagecreatefromjpeg($source);

    elseif ($info['mime'] == 'image/gif') 
        $image = imagecreatefromgif($source);

    elseif ($info['mime'] == 'image/png') 
        $image = imagecreatefrompng($source);

    imagejpeg($image, $destination, $quality);

    return $destination;
}

$source_img = 'source.jpg';
$destination_img = 'destination .jpg';

$d = compress($source_img, $destination_img, 90);
?>

$d = compress($source_img, $destination_img, 90);

这只是一个 php 函数,它传递源图像(即$source_img )、目标图像( $destination_img )和需要压缩的图像质量(即 90 )。

$info = getimagesize($source);

getimagesize()函数用于查找任何给定图像文件的大小并返回尺寸以及文件类型。

我会去jpeg 阅读这篇关于缩小图像大小的帖子,并在决定技术后,使用ImageMagick

希望这可以帮助

您可以调整大小,然后使用 imagejpeg()

不要将 100 作为 imagejpeg() 的质量 - 任何超过 90 的东西通常都是矫枉过正的,只会让你得到更大的 JPEG。 对于缩略图,尝试 75 并向下工作,直到质量/大小的权衡是可以接受的。

imagejpeg($tn, $save, 75);

好吧,我想我有一些有趣的东西给你...... https://github.com/whizzkid/phpimageresize 我写它的目的完全相同。 高度可定制,并且做得很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM