用户名: 用QQ登录本站
密 码: 注册
验证码:
首页 软件 编程 笑话 知识 公告 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
广告位招租中
2021年 劳动节 11
2021年 端午节 55
2022年 元 旦 256
2022年 春 节 287
 
  • 您现在的位置:首页 >> PHP >> 内容

    PHP生成缩略图实例

    内容摘要: ?php/** * 生成缩略图 * $imgSrc图片源路径 * $thumbWidth 缩略图宽度 * $thumbHeight 缩略图高度 * $thumbSrc缩略图路径 * $isCut是否剪切图片 */ function createThumbImg($imgSrc, $thumbWidth, $thumbHeight, $thumbSrc, $i......

      <?php

    /**

    * 生成缩略图

    * $imgSrc 图片源路径

    * $thumbWidth 缩略图宽度

    * $thumbHeight 缩略图高度

    * $thumbSrc 缩略图路径

    * $isCut 是否剪切图片

    */

    function createThumbImg($imgSrc, $thumbWidth, $thumbHeight, $thumbSrc, $isCut = false) {

    //1.获取图片的类型

    $type = substr(strrchr($imgSrc, "."), 1);

    //2.初始化图象

    if ($type == "jpg" || $type == "jpeg") {

    //创建一块画布,并从JPEG文件或URL地址载入一副图像

    $sourceImg = imagecreatefromjpeg($imgSrc);

    }elseif ($type == "gif") {

    //创建一块画布,并从GIF文件或URL地址载入一副图像

    $sourceImg = imagecreatefromgif($imgSrc);

    }elseif ($type == "png") {

    //创建一块画布,并从PNG文件或URL地址载入一副图像

    $sourceImg = imagecreatefrompng($imgSrc);

    }

    elseif ($type == "wbmp") {

    //创建一块画布,并从WBMP文件或URL地址载入一副图像

    $sourceImg = imagecreatefromwbmp($imgSrc);

    }

    //取得图像宽度

    $width = imagesx($sourceImg);

    //取得图像高度

    $height = imagesy($sourceImg);


    //3.生成图象

    //缩略图的图象比例

    $scale = ($thumbWidth) / ($thumbHeight);

    //源图片的图象比例

    $ratio = ($width) / ($height);

    if (($isCut) == 1) {

    //高度优先

    if ($ratio >= $scale) {

    //创建真彩图像资源(imagecreatetruecolor()函数使用GDLibrary创建新的真彩色图像)

    $newimg = imagecreatetruecolor($thumbWidth, $thumbHeight);

    //图像处理

    imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, (($height) * $scale), $height);

    //以JPEG格式将图像输出到浏览器或文件

    ImageJpeg($newimg, $thumbSrc);

    }

    //宽度优先

    if ($ratio < $scale) {

    $newimg = imagecreatetruecolor($thumbWidth, $thumbHeight);

    imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $width, (($width) / $scale));

    ImageJpeg($newimg, $thumbSrc);

    }

    } else {

    if ($ratio >= $scale) {

    $newimg = imagecreatetruecolor($thumbWidth, ($thumbWidth) / $ratio);

    imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, ($thumbWidth) / $ratio, $width, $height);

    ImageJpeg($newimg, $thumbSrc);

    }

    if ($ratio < $scale) {

    $newimg = imagecreatetruecolor(($thumbHeight) * $ratio, $thumbHeight);

    imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, ($thumbHeight) * $ratio, $thumbHeight, $width, $height);

    ImageJpeg($newimg, $thumbSrc);

    }

    }

    //销毁图像

    ImageDestroy($sourceImg);

    }

    ?>

    调用示例:

    <?php

    //图片源路径

    $imgSrc="D:/PHP/test/demo.jpg";

    //缩略图路径

    $thumbSrc="D:/PHP/test/thumb.jpg";

    createThumbImg($path,100,100,$thumbSrc);

    ?>

      版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。


    发布日期:2021/3/10 发布时间:15:11:19 点击:323 录入:齐天大圣
  • 上一篇:php中array_fill函数的实例用法
  • 下一篇:PHP随机生成18位不重复的订单号
  • 本类新增
    本类热门文章
    Baidu

    YiJiaCMS V5.01 Build 21.03.31(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    齐天大圣® 制 作 ©2000-2021