php imagecopyresamled,PHP 拷贝图像 imagecopy 与 imagecopyresized 函数

这篇博客介绍了PHP中用于图像处理的两个关键函数:imagecopy()和imagecopyresized()。imagecopy()用于复制图像的一部分,而imagecopyresized()则在复制的同时调整图像大小。文章通过示例代码详细阐述了这两个函数的使用方法,包括参数解释和实际应用,如创建图像缩略图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 开始)拷贝的高度

例子:

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() 的典型应用就是生成图片的缩略图:

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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值