商城笔记18——缩略图和水印

本文介绍了使用PHP的GD库进行图像处理的方法,包括如何生成缩略图和添加水印。通过具体的代码示例,展示了如何利用imagecopyresampled()函数生成高质量的缩略图,并通过imagecopymerge()函数实现在图片上添加透明度可调节的水印。

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

缩略图

所用函数:

  • imagecopyresampled — 重采样拷贝部分图像并调整大小
    bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() 将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。



//缩略图:

$ow = 500;//原图宽度
$oh = 301 ;//原图高度

$nw = (int)$ow/2;//缩略后的宽度
$nh = (int)$oh/2;//缩略后的高度

//创建缩略图画布
$des = imagecreatetruecolor($nw, $nh);

//读取原始图
$src = imagecreatefromjpeg('./8ouak6.jpg');

//开始复制
imagecopyresampled($des,$src,0,0,0,0,$nw,$nh,$ow,$oh);

//输出
imagejpeg($des,'./small1.jpg');
imagedestroy($des);



运行结果:生成新的图片small1.jpg

这里写图片描述


水印

所用函数:
- imagecopymerge — 拷贝并合并图像的一部分
bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。

//水印
//读取大图
$des = imagecreatefromjpeg('./7.jpg');

//读取小图
$src = imagecreatefromjpeg('./small.jpg');

imagecopymerge($des,$src,1000,1000,0,0,250,150,30);
echo imagejpeg($des,'./ad.jpeg')?'OK':'FAIL';

运行结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值