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. wx:for

    .JSPage({ data: { input_data: [ { id: 1, unique: "unique1" }, { id: 2, unique: "uniqu ...

  2. React Native - 使用Vibration API实现设备振动

    有时程序中需要实现这样的功能,当有重要的消息提醒时,我们会发出声音告知用户.而如果用户关闭了声音,那么就可以改用振动来提醒用户. 使用 React Native 提供的 Vibration API,我 ...

  3. BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛 网络流 + 二分 + Floyd

    Description FJ's cows really hate getting wet so much that the mere thought of getting caught in the ...

  4. 【转载】JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  5. cat和cp的神奇用法:制作U盘安装盘

    使用U盘安装debian,U盘的制作方法: 方法一: https://www.debian.org/doc/manuals/debian-handbook/installation.zh-cn.htm ...

  6. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  7. Atcoder ARC 082C/D

    C - Together 传送门:http://arc082.contest.atcoder.jp/tasks/arc082_a 本题是一个数学问题. 有一个长度为n的自然数列a[1..n],对于每一 ...

  8. numpy中sum(axis=0)和axis=1的计算原理

    看起来挺简单的样子,但是在给sum函数中加入参数.sum(a,axis=0)或者是.sum(axis=1) 就有点不解了 在我实验以后发现 我们平时用的sum应该是默认的axis=0 就是普通的相加 ...

  9. 【习题 4-6 UVA - 508】Morse Mismatches

    [链接] 我是链接,点我呀:) [题意] 给你每个字母对应的摩斯密码. 然后每个单词的莫斯密码由其组成字母的莫斯密码连接而成. 现在给你若干个莫斯密码. 请问你每个莫斯密码对应哪个单词. 如果有多个单 ...

  10. 【Codeforces 933A】A Twisty Movement

    [链接] 我是链接,点我呀:) [题意] [题解] 因为只有1和2. 所以最后肯定是若干个1接着若干个2的情况. 即11...11222...222这样的. 1.首先考虑没有翻转的情况. 那么就直接枚 ...