imagecopy() 函数用于拷贝图像或图像的一部分。

  imagecopyresized() 函数用于拷贝部分图像并调整大小。

  imagecopy()

  imagecopy() 函数用于拷贝图像或图像的一部分,成功返回 TRUE ,否则返回 FALSE 。

  语法:

  bool imagecopy( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,

  int src_w, int src_h )

  参数说明:参数说明

  dst_im目标图像

  src_im被拷贝的源图像

  dst_x目标图像开始 x 坐标

  dst_y目标图像开始 y 坐标,x,y同为 0 则从左上角开始

  src_x拷贝图像开始 x 坐标

  src_y拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝

  src_w(从 src_x 开始)拷贝的宽度

  src_h(从 src_y 开始)拷贝的高度

  例子:

  <?php

  header("Content-type: image/jpeg");

  //创建目标图像

  $dst_im = imagecreatetruecolor(150, 150);

  //源图像

  $src_im = @imagecreatefromjpeg("images/flower_1.jpg");

  //拷贝源图像左上角起始 150px 150px

  imagecopy( $dst_im, $src_im, 0, 0, 0, 0, 150, 150 );

  //输出拷贝后图像

  imagejpeg($dst_im);

  imagedestroy($dst_im);

  imagedestroy($src_im);

  ?>

  imagecopyresized()

  imagecopyresized() 函数用于拷贝图像或图像的一部分并调整大小,成功返回 TRUE ,否则返回 FALSE 。

  语法:

  bool imagecopyresized( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,

  int dst_w, int dst_h, int src_w, int src_h )

  本函数参数可参看 imagecopy() 函数,只是本函数增加了两个参数(注意顺序):

  dst_w:目标图像的宽度。

  dst_h:目标图像的高度。

  imagecopyresized() 的典型应用就是生成图片的缩略图:

  <?php

  header("Content-type: image/jpeg");

  //原图文件

  $file = "images/flower_1.jpg";

  // 缩略图比例

  $percent = 0.5;

  // 缩略图尺寸

  list($width, $height) = getimagesize($file);

  $newwidth = $width * $percent;

  $newheight = $height * $percent;

  // 加载图像

  $src_im = @imagecreatefromjpeg($file);

  $dst_im = imagecreatetruecolor($newwidth, $newheight);

  // 调整大小

  imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

  //输出缩小后的图像

  imagejpeg($dst_im);

  imagedestroy($dst_im);

  imagedestroy($src_im);

  ?>

php gd的更多相关文章

  1. PHP之GD函数的使用

    本文讲解常用GD函数的应用 1.一个简单的图像 我们先看一个例子: <?php $w = 200; $h = 200; $img = imagecreatetruecolor($w,$h); $ ...

  2. PHP的GD库

    GD库 PHP通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. 绘制线条 要对图形进行操作,首先要新建一个画布,通过imagecreatetr ...

  3. gd库

    1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...

  4. 已安装php 编译安装 gd库拓展模块

    参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...

  5. Mac php使用gd库出错 Call to undefined function imagettftext()

    第一次在Mac下使用ThinkPHP,用到验证码功能时报如题的错误: Call to undefined function Think\imagettftext() 然后检查自己的GD库,发现安装上了 ...

  6. php中用GD绘制折线图

    php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...

  7. php基础之gd图像生成、缩放、logo水印和简单验证码实现

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...

  8. GD库处理图像

    在PHP5中,动态图象的处理要比以前容易得多.PHP5在php.ini文件中包含了GD扩展包,只需去掉GD扩展包的相应注释就可以正常使用了.PHP5包含的GD库正是升级的GD2库,其中包含支持真彩图像 ...

  9. php bmp中创建图像bmp2gd,让GD支持32位BMP

    php GD库可方便的从URL新建一图像, GD中有imagecreatefromjpeg(),imagecreatefromPNG()....等之类的FUNCTION 可有时从URL中读取的切BMP ...

  10. PHP中用GD绘制饼图

    PHP中用GD绘制饼图,绘制的类见代码: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // ...

随机推荐

  1. PHP CURL的几种用法

    1.抓取无访问控制文件 <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/mytest/ ...

  2. C# 查找、结束进程 - 通过进程名精确、模糊查找、结束进程

    /// <summary> /// 根据“精确进程名”结束进程 /// </summary> /// <param name="strProcName" ...

  3. Eigen与Matlab语法及语义辞典

    Eigen为Matlab转换为C++提供了一个简单的语法级别的代码迁移工具. 对一些代码进行了扩充,以便程序由Matlab到Eigen的移植................... 参考链接:http: ...

  4. 偏函数应用(Partial Application)和函数柯里化(Currying)

    偏函数应用指的是固化函数的一个或一些参数,从而产生一个新的函数.比如我们有一个记录日志的函数: 1: def log(level, message): 2: print level + ": ...

  5. mysql修改原始密码

    后期修改数据库用户的密码初始密码为自动生成,我们需要情况原始密码,再修改密码,mysqldmin -u root 只能用在修改为原始密码之后使用systemctl stop mysqldvim /et ...

  6. Python爬虫:HTTP协议、Requests库(爬虫学习第一天)

    HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...

  7. vue-router 懒加载

    懒加载:也叫延迟加载,即在需要的时候进行加载,按需加载. 那vue 为什么需要懒加载呢? 使用 vue-cli构建的项目,在默认情况下,执行 npm run build  会将所有的 js代码打包为一 ...

  8. [POJ2404]Jogging Trails

    我太弱了. 我们可以知道一个结论就是对于一个图的话假如所有点的度数都是偶数,那么只需要走一波欧拉回路. 所以我们就把奇点补成偶点. 将两个奇点补充到偶点的最佳方法是选择任意两个奇点连最短路径为权的边 ...

  9. 当svn检出项目检出一半时停止,如何继续检出

    1.当svn检出项目时,发现中断,又不想重新检出可以在已检出的项目目录下右键 2.然后点击 之后直接update你的项目就可以了

  10. confluence中设置应用程序链接到jira

    有时需要在confluence中选中文本直接生成issue或story到jira里. 在"一般配置“->“应用程序链接”中创建即可.