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