php图片缩放裁剪与水印代码
代码语言:php
所属分类:图片处理
代码描述:php图片缩放裁剪与水印代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<?php /** * 图片裁剪 * @param string $picname 原图路径 * @param string $x $Y 裁剪开区域左上角的点的坐标 * @param string $width 裁剪宽度 * @param string $height 裁剪高度 * @param string $pre 处理后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg */ function crop($picname, $width, $height, $x = 0, $y = 0, $pre = "n_") { $picnameinfo = getimageSize($picname); //获取图片源的基本信息 //创建源图的实例 $src = imagecreatefromstring(file_get_contents($picname)); //裁剪开区域左上角的点的坐标 $x = 100; $y = 12; //裁剪区域的宽和高 $width = 200; $height = 400; //最终保存成图片的宽和高,和源要等比例,否则会变形 $final_width = 100; $final_height = round($final_width * $height / $width); //将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升 $new_image = imagecreatetruecolor($final_width, $final_height); imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height); //输出图像(根据源图像的类型,输出为对应的类型) $picinfo = pathinfo($picname); //解析源图像的名字和路径信息 $newpicname = $picinfo["dirname"]."/".$pre.$picinfo["basename"]; switch ($picnameinfo[2]) { case 1: imagegif($new_image, $newpicname); break; case 2: imagejpeg($new_image, $newpicname); break; case 3: imagepng($new_image, $newpicname); break; } //释放图片资源 imagedestroy($src); imagedestroy($new_image); return $newpicname; } /** * 为一张图片添加上一个logo图片水印(以保存的方式实现) * @param string $picname 被处理图片源 * @param string $logo 水印图片 * @param string $pre 处理后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg */ function watermark($picname, $logo, $pre = "n_") { $picnameinfo = getimageSize($picname); //获取图片源的基本信息 $logoinfo = getimageSize($logo); //获取logo图片的基本信息 //var_dump($logoinfo); //根据图片类型创建出对应的图片源 switch ($picnameinfo[2]) { case 1: //gif $im = imagecreatefromgif($picname); break; case 2: //jpg $im = imagecreatefromjpeg($picname); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0