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()高。

  • 相关阅读:
    平衡二叉树
    二叉搜索树的最近公共祖先
    U-Boot> help, 命令集
    sprintf_s函数用法
    用keil编写的 C51错误 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START
    GPS时间系统概述和世界时系统
    浅析gcc、arm-linux-gcc和arm-elf-gcc关系
    如何删除电脑中使用过的COM端口
    飞鸽传书 绑定指定网卡
    UE 高亮 一个或多个关键字的方法
  • 原文地址:https://www.cnblogs.com/sanwenyu/p/4563912.html
Copyright © 2011-2022 走看看