- 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);
?>上面的例子将原图缩小为原来的一半尺寸。
本章节内容共分 10 部分:
- PHP 图像处理
- PHP 获取图像信息 getimagesize 函数
- PHP 创建图像、销毁图像 imagecreate 与 imagedestroy 函数
- PHP 分配、取消图像颜色 imagecolorallocate 与 imagecolordeallocate 函数
- PHP 拷贝图像 imagecopy 与 imagecopyresized 函数
- PHP 绘制线段与圆弧 imageline、imagesetstyle 与 imagearc 函数
- PHP 载入图像 imagecreatefrom_gif_jpeg_png 系列函数
- PHP 合并图像 imagecopymerge 函数(水印制作实例)
- PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
- PHP 图像填充 imagefill、imagefilledarc 与 imagefilledrectangle() 函数

