当前位置:主页 > php教程 > PHP简单创建压缩图的方法

PHP如何创建压缩图

发布:2020-03-13 12:22:21 131


给大家整理了PHP相关的编程文章,网友武英勋根据主题投稿了本篇教程内容,涉及到PHP、压缩图、PHP简单创建压缩图的方法相关内容,已被507网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

PHP简单创建压缩图的方法

本文实例讲述了PHP简单创建压缩图的方法。分享给大家供大家参考,具体如下:

<?php
//创建压缩图
function _create_thumbnail($srcFile, $toW, $toH, $toFile="")
{
  if ($toFile == "")
  {
    $toFile = $srcFile;
  }
  $info = "";
  $data = getimagesize($srcFile, $info);
  if (!$data)
    return false;
  //将文件载入到资源变量im中
  switch ($data[2])
  {
    case 1:
      $im = imagecreatefromgif($srcFile);
      break;
    case 2:
      $im = imagecreatefromjpeg($srcFile);
      break;
    case 3:
      $im = imagecreatefrompng($srcFile);
      break;
  }
  //计算缩略图的宽高
  $srcW = imagesx($im);
  $srcH = imagesy($im);
  $toWH = $toW / $toH;
  $srcWH = $srcW / $srcH;
  if ($toWH <= $srcWH)
  {
    $ftoW = $toW;
    $ftoH = (int)($ftoW * ($srcH / $srcW));
  }
  else
  {
    $ftoH = $toH;
    $ftoW = (int)($ftoH * ($srcW / $srcH));
  }
  if (function_exists("imagecreatetruecolor"))
  {
    $ni = imagecreatetruecolor($ftoW, $ftoH); //新建一个真彩色图像
    if ($ni)
    {
      //重采样拷贝部分图像并调整大小 可保持较好的清晰度
      imagecopyresampled($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
    }
    else
    {
      //拷贝部分图像并调整大小
      $ni = imagecreate($ftoW, $ftoH);
      imagecopyresized($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
    }
  }
  else
  {
    $ni = imagecreate($ftoW, $ftoH);
    imagecopyresized($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
  }
  //保存到文件 统一为.png格式
  imagepng($ni, $toFile); //以 PNG 格式将图像输出到浏览器或文件
  ImageDestroy($ni);
  ImageDestroy($im);
}
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


参考资料

相关文章

  • php array_chunk()函数用法讲解

    发布:2020-02-01

    这篇文章主要介绍了php array_chunk()函数用法与注意事项,结合实例形式分析了php数组分割函数array_chunk()相关功能、用法及操作注意事项,需要的朋友可以参考下


  • PHP的Yii框架中行为的定义与绑定的方法

    发布:2019-12-01

    这篇文章主要介绍了PHP的Yii框架中行为的定义与绑定方法,包括对静态方法绑定行为与动态方法绑定行为的讲解,需要的朋友可以参考下


  • PHP接收二进制流转换成图片实例解析

    发布:2020-02-11

    这篇文章主要介绍了PHP实现接收二进制流转换成图片的方法,结合实例形式分析了php文件、目录及图形操作的相关技巧,需要的朋友可以参考下


  • PHP对象克隆clone和魔术方法__clone()用法代码

    发布:2019-12-30

    这篇文章主要介绍了PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法,结合具体实例形式分析了php面向对象程序设计中对象克隆clone和魔术方法__clone()相关操作技巧与使用注意事项,需要


  • php封装的数据库函数与用法示例【参考thinkPHP】

    发布:2022-06-23

    给网友朋友们带来一篇关于php的教程,这篇文章主要介绍了php封装的数据库函数与用法,基于thinkPHP中数据库操作相关代码整理简化而来,包括针对数据库的设置、连接、查询及日志操作等功能,简单实用,需要的朋友可以参考下


  • Ubuntu 18.04上安装PHP 7.3 7.2和7.0的步骤方法

    发布:2019-07-29

    这篇文章主要介绍了在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


  • windows7配置Nginx+php+mysql教程

    发布:2019-06-20

    这篇文章主要介绍了windows7配置Nginx+php+mysql的详细教程 的相关资料,需要的朋友可以参考下


  • 实例分享PHP将数据导出Excel表中(投机型)

    发布:2020-03-17

    下面小编就为大家带来一篇PHP将数据导出Excel表中的实例(投机型)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


网友讨论