php经典实例图片的等比缩放和Logo水印源码免费下载

php经典实例图片的等比缩放和Logo水印源码免费下载

php经典实例图片的等比缩放和Logo水印源码免费下载

淘建站为您提供更多_其他_缩放_下载,在此特别感谢您对我们的支持与厚爱!

查看演示

演示不了,点击反馈

加入收藏

下载 168 次

下载资源

27 淘币

特别说明:本站资源来自网友发布分享,仅供学习与参考,请勿用于商业用途,若有侵权请联系删除(272966172@qq.com)。

<?php
header("Content-type: text/html; charset=utf-8");
//公共函数库

/**
 * 等比缩放函数(以保存的方式实现)
 * @param string $picname 被缩放的处理图片源
 * @param int $maxx 缩放后图片的最大宽度
 * @param int $maxy 缩放后图片的最大高度
 * @param string $pre 缩放后图片名的前缀名
 * @return String 返回后的图片名称(带路径),如a.jpg=>s_a.jpg
 */
function imageUpdateSize($picname,$maxx=100,$maxy=100,$pre="s_"){
	$info = getimageSize($picname); //获取图片的基本信息
	
	$w = $info[0];//获取宽度
	$h = $info[1];//获取高度
	
	//获取图片的类型并为此创建对应图片资源	
	switch($info[2]){
		case 1: //gif
			$im = imagecreatefromgif($picname);
			break;
		case 2: //jpg
			$im = imagecreatefromjpeg($picname);
			break;
		case 3: //png
			$im = imagecreatefrompng($picname);
			break;
		default:
			die("图片类型错误!");
	}
	
	//计算缩放比例
	if(($maxx/$w)>($maxy/$h)){
		$b = $maxy/$h;
	}else{
		$b = $maxx/$w;
	}
	
	//计算出缩放后的尺寸
	$nw = floor($w*$b);
	$nh = floor($h*$b);
	
	//创建一个新的图像源(目标图像)
	$nim = imagecreatetruecolor($nw,$nh);
		
	//执行等比缩放
	imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
	
	//输出图像(根据源图像的类型,输出为对应的类型)
	$picinfo = pathinfo($picname);//解析源图像的名字和路径信息
	$newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];
	switch($info[2]){
		case 1:
			imagegif($nim,$newpicname);
			break;
		case 2:
			imagejpeg($nim,$newpicname);
			break;
		case 3:
			imagepng($nim,$newpicname);
			break;
	}
	//释放图片资源
	imagedestroy($im);
	imagedestroy($nim);
	//返回结果
	return $newpicname;
}

//测试:
imageUpdateSize("./images/bg.jpg",500,500,"ss_");  //  ./images/s_bg.jpg

echo "<h2>原图</h2>";
echo "<img src='./images/bg.jpg'>"; echo "<h2>等比缩放后的图</h2>";echo "<img src='./images/ss_bg.jpg'>";



/**
 * 为一张图片添加上一个logo图片水印(以保存的方式实现)
 * @param string $picname 被处理图片源
 * @param string $logo 水印图片
 * @param string $pre 处理后图片名的前缀名
 * @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg
 */
function imageUpdateLogo($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);
			break;
		case 3: //png
			$im = imagecreatefrompng($picname);
			break;
		default:
			die("图片类型错误!");
	}
	//根据logo图片类型创建出对应的图片源
	switch($logoinfo[2]){
		case 1: //gif
			$logoim = imagecreatefromgif($logo);
			break;
		case 2: //jpg
			$logoim = imagecreatefromjpeg($logo);
			break;
		case 3: //png
			$logoim = imagecreatefrompng($logo);
			break;
		default:
			die("logo图片类型错误!");
	}
	

	//执行图片水印处理
	imagecopyresampled($im,$logoim,$picnameinfo[0]-$logoinfo[0],$picnameinfo[1]-$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);
	
	//输出图像(根据源图像的类型,输出为对应的类型)
	$picinfo = pathinfo($picname);//解析源图像的名字和路径信息
	$newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];
	switch($picnameinfo[2]){
		case 1:
			imagegif($im,$newpicname);
			break;
		case 2:
			imagejpeg($im,$newpicname);
			break;
		case 3:
			imagepng($im,$newpicname);
			break;
	}
	//释放图片资源
	imagedestroy($im);
	imagedestroy($logoim);
	//返回结果
	return $newpicname;
}

//测试
imageUpdateLogo("./images/bg.jpg","./images/logo.png");

echo "<h2>执行图片水印后的图</h2>";echo "<img src='./images/n_bg.jpg'>";

声明:本资料由淘建站会员提供,如转载注明来源,资料来源淘建站免费素材库:https://www.taojz.cn/mokuai/945.html
php经典实例图片的等比缩放和Logo水印源码免费下载 希望对你有帮助,感谢您的支持!
  • PHP自定义实现微信分享朋友圈源码演示下载

    PHP自定义实现微信分享朋友圈源码演示下载

  • PHP实现微信开放平台扫码登录源码下载

    PHP实现微信开放平台扫码登录源码下载

  • 留言(0)
    头像
     阿里云限量代金券,戳我领取
    1 2