PHP生成图片缩略图_PHP教程

php中文网
发布: 2016-07-13 10:27:44
原创
1269人浏览过

   php生成图片缩略图:

  要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库

  使用一个类生成图片的缩略图,类的源码见下文

  调用此类的方法:

  resizeimage = new resizeimage("图片源文件地址", "200", "100", "0","缩略图地址");

立即学习PHP免费学习笔记(深入)”;

  //就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高

  //使用如下类就可以生成图片缩略图,

  class resizeimage

  {

改图鸭AI图片生成
改图鸭AI图片生成

改图鸭AI图片生成

改图鸭AI图片生成 30
查看详情 改图鸭AI图片生成

  //图片类型

  var type;

  //实际宽度

  var width;

  //实际高度

  var height;

  //改变后的宽度

  var resize_width;

  //改变后的高度

  var resize_height;

  //是否裁图

  var cut;

  //源图象

  var srcimg;

  //目标图象地址

  var dstimg;

  //临时创建的图象

  var im;

  function resizeimage(img, wid, hei,c,dstpath)

  {

  this->srcimg = img;

  this->resize_width = wid;

  this->resize_height = hei;

  this->cut = c;

  //图片的类型

  this->type = strtolower(substr(strrchr(this->srcimg,"."),1));

  //初始化图象

  this->initi_img();

  //目标图象地址

  this -> dst_img(dstpath);

  //--

  this->width = imagesx(this->im);

  this->height = imagesy(this->im);

  //生成图象

  this->newimg();

  ImageDestroy (this->im);

  }

  function newimg()

  {

  //改变后的图象的比例

  resize_ratio = (this->resize_width)/(this->resize_height);

  //实际图象的比例

  ratio = (this->width)/(this->height);

  if((this->cut)=="1")

  //裁图

  {

  if(ratio>=resize_ratio)

  //高度优先

  {

  newimg = imagecreatetruecolor(this->resize_width,this->resize_height);

  imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width,this->resize_height, ((this->height)*resize_ratio), this->height);

  ImageJpeg (newimg,this->dstimg);

  }

  if(ratio

  //宽度优先

  {

  newimg = imagecreatetruecolor(this->resize_width,this->resize_height);

  imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width, this->resize_height, this->width, ((this->width)/resize_ratio));

  ImageJpeg (newimg,this->dstimg);

  }

  }

  else

  //不裁图

  {

  if(ratio>=resize_ratio)

  {

  newimg = imagecreatetruecolor(this->resize_width,(this->resize_width)/ratio);

  imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width, (this->resize_width)/ratio, this->width, this->height);

  ImageJpeg (newimg,this->dstimg);

  }

  if(ratio

  {

  newimg = imagecreatetruecolor((this->resize_height)*ratio,this->resize_height);

  imagecopyresampled(newimg, this->im, 0, 0, 0, 0, (this->resize_height)*ratio, this->resize_height, this->width, this->height);

  ImageJpeg (newimg,this->dstimg);

  }

  }

  }

  //初始化图象

  function initi_img()

  {

  if(this->type=="jpg")

  {

  this->im = imagecreatefromjpeg(this->srcimg);

  }

  if(this->type=="gif")

  {

  this->im = imagecreatefromgif(this->srcimg);

  }

  if(this->type=="png")

  {

  this->im = imagecreatefrompng(this->srcimg);

  }

  }

  //图象目标地址

  function dst_img(dstpath)

  {

  full_length = strlen(this->srcimg);

  type_length = strlen(this->type);

  name_length = full_length-type_length;

  name = substr(this->srcimg,0,name_length-1);

  this->dstimg = dstpath;

  //echo this->dstimg;

  }

  }

  ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/815031.htmlTechArticlePHP生成图片缩略图: 要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图,类的源码见下文 调用此...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号