温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP创建压缩图的方法

发布时间:2021-08-27 15:57:21 阅读:132 作者:chen 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容介绍了“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$im0000$ftoW$ftoH$srcW$srcH);
    }
    else
    {
      //拷贝部分图像并调整大小
      $ni imagecreate($ftoW$ftoH);
      imagecopyresized($ni$im0000$ftoW$ftoH$srcW$srcH);
    }
  }
  else
  {
    $ni imagecreate($ftoW$ftoH);
    imagecopyresized($ni$im0000$ftoW$ftoH$srcW$srcH);
  }
  //保存到文件 统一为.png格式
  imagepng($ni$toFile); //以 PNG 格式将图像输出到浏览器或文件
  ImageDestroy($ni);
  ImageDestroy($im);
}
?>

“PHP创建压缩图的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×