zoukankan      html  css  js  c++  java
  • imagecopyresampled()改变图片大小后质量要比imagecopyresized()高。

    php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高。

    下面我们来看看两者的比较结果。

    原图:

    使用imagecopyresized()将图片缩小一半

    代码:

    <?php
    // File and new size
    $filename = 'test.jpg';
    $percent = 0.5;
    // Content type
    header('Content-Type: image/jpeg');
    // Get new sizes
    list($width, $height) = getimagesize($filename);
    $newwidth = $width * $percent;
    $newheight = $height * $percent;
    // Load
    $thumb = imagecreatetruecolor($newwidth, $newheight);
    $source = imagecreatefromjpeg($filename);
    // Resize
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    // Output
    imagejpeg($thumb);
    ?>

    改变后的图片:

    使用imagecopyresampled()将图片缩小一半

    代码:

    <?php
    // The file
    $filename = 'test.jpg';
    $percent = 0.5;
    // Content type
    header('Content-Type: image/jpeg');
    // Get new dimensions
    list($width, $height) = getimagesize($filename);
    $new_width = $width * $percent;
    $new_height = $height * $percent;
    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    // Output
    imagejpeg($image_p, null, 100);
    ?>

    改变后的图片:

    可以看出,imagecopyresampled()改变图片大小后质量要比imagecopyresized()高。

  • 相关阅读:
    Linux下安装软件遇见的问题汇总
    使用AlarmManager定期执行工作
    android打开文件、保存对话框、创建新文件夹对话框(转载)
    一些算法的整理
    安卓adb调试命令常见的问题
    java下的串口通信-RXTX
    Unity 协程运行时的监控和优化
    Unity3D 协程的介绍和使用
    游戏服务器:到底使用UDP还是TCP
    Unity 可重复随机数
  • 原文地址:https://www.cnblogs.com/sanwenyu/p/4563912.html
Copyright © 2011-2022 走看看