≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php 使用GD创建保持宽高比缩略图的简单示例

人气:768 时间:2018-09-19

这篇文章主要为大家详细介绍了php 使用GD创建保持宽高比缩略图的简单示例,具有一定的参考价值,可以用来参考一下。

php使用GD创建保持宽高比的缩略图,感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
经测试代码如下:

/**
 *从$ inputFileName创建一个缩略图,不高于或宽
 * $ maxSize。 返回新图像资源或错误时返回false。
 * 
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
    function thumbnail($inputFileName, $maxSize = 100)
    {
        $info = getimagesize($inputFileName);
 
        $type = isset($info['type']) ? $info['type'] : $info[2];
 
        // Check support of file type
        if ( !(imagetypes() & $type) )
        {
            // Server does not support file type
            return false;
        }
 
        $width  = isset($info['width'])  ? $info['width']  : $info[0];
        $height = isset($info['height']) ? $info['height'] : $info[1];
 
        // Calculate aspect ratio
        $wRatio = $maxSize / $width;
        $hRatio = $maxSize / $height;
 
        // Using imagecreatefromstring will automatically detect the file type
        $sourceImage = imagecreatefromstring(file_get_contents($inputFileName));
 
        // Calculate a proportional width and height no larger than the max size.
        if ( ($width <= $maxSize) && ($height <= $maxSize) )
        {
            // Input is smaller than thumbnail, do nothing
            return $sourceImage;
        }
        elseif ( ($wRatio * $height) < $maxSize )
        {
            // Image is horizontal
            $tHeight = ceil($wRatio * $height);
            $tWidth  = $maxSize;
        }
        else
        {
            // Image is vertical
            $tWidth  = ceil($hRatio * $width);
            $tHeight = $maxSize;
        }
 
        $thumb = imagecreatetruecolor($tWidth, $tHeight);
 
        if ( $sourceImage === false )
        {
            // Could not load image
            return false;
        }
 
        // Copy resampled makes a smooth thumbnail
        imagecopyresampled($thumb, $sourceImage, 0, 0, 0, 0, $tWidth, $tHeight, $width, $height);
        imagedestroy($sourceImage);
 
        return $thumb;
    }
 
    /**
     * Save the image to a file. Type is determined from the extension.
     * $quality is only used for jpegs.
     * Author: mthorn.net
     */
    function imageToFile($im, $fileName, $quality = 80)
    {
        if ( !$im || file_exists($fileName) )
        {
           return false;
        }
 
        $ext = strtolower(substr($fileName, strrpos($fileName, '.')));
 
        switch ( $ext )
        {
            case '.gif':
                imagegif($im, $fileName);
                break;
            case '.jpg':
            case '.jpeg':
                imagejpeg($im, $fileName, $quality);
                break;
            case '.png':
                imagepng($im, $fileName);
                break;
            case '.bmp':
                imagewbmp($im, $fileName);
                break;
            default:
                return false;
        }
 
        return true;
    }
 
    $im = thumbnail('temp.jpg', 100);
    imageToFile($im, 'temp-thumbnail.jpg');


/***   代码来自四海网(www.q1010.com)   ***/

本文来自:http://www.q1010.com/173/449-0.html

注:关于php 使用GD创建保持宽高比缩略图的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:GD,缩略图

您可能感兴趣的文章

  • php 动态生成缩略图并输出显示的简单示例
  • PHP 获取图片的Exif、缩略图的简单示例
  • php 上传图片并生成缩略图的简单示例
  • php 原比例生成缩略图实现方法
  • php 图片生成缩略图函数的简单示例
  • php 生成缩略图的示例
  • PHP 实现图片上传并生成缩略图示例
上一篇:php 计算两个坐标(经度,纬度)之间的距离
下一篇:php 操作mysql数据库的类入门实例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。