继续上一篇,我们接着来进行gd库的学习。 本篇文章学习gd库对图片的处理,采用的例子为图片的旋转和添加水印。
先来认识一下我们要常用到的函数
resource imagerotate ( resource $image
, float $angle
, int $bgd_color
[, int$ignore_transparent
= 0 ])
imagerotate将 src_im
图像用给定的 angle
角度旋转。bgd_color
指定了旋转后没有覆盖到的部分的颜色。旋转的中心是图像的中心,旋转后的图像会按比例缩小以适合目标图像的大小——边缘不会被剪去。
有几个个需要注意的点,这个函数是逆时针旋转的。旋转是用这个函数是很简单的事情,代码如下。
<?php //这是随便写的一个函数 只为说明旋转的用法及使用需要注意的几个点 //本函用来将存储的图片旋转某角度并覆盖源文件 function flip($filename, $degress){ //有的图片可能过于大了,因此需要设置一下脚本最大内存 ini_set (‘memory_limit‘, ‘256M‘); //这个函数是获取图片信息,类似不常用的图片会在最后一篇总结中统一介绍 $data = @getimagesize($filename); if($data==false){ return false; } $file_type = explode(‘/‘, $data[‘mime‘]); //根据存储文件扩展名创建图像resource if($file_type[1]==‘png‘){ $src_f = @imagecreatefrompng($filename); }else{ $src_f = @imagecreatefromjpeg($filename); } if($src_f==""){ return false; } //旋转 并将旋转后的资源输入原文件覆盖 $rotate = @imagerotate($src_f, $degrees,0); if($file_type[1]==‘png‘){ imagepng($rotate,$filename); }else{ imagejpeg($rotate,$filename); } //销毁资源 @imagedestroy($src_f); @imagedestroy($rotate); return true; } ?>
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 透明。
快吃饭了,吃完饭接着来整哈~~~~
时间: 2024-10-27 13:23:56