PHP图片等比缩放,并添加Logo水印特定代码和盯
<? php
//PHP图片等比缩放,并添加Logo水印 --->百度 “美日汇” /**
* 等比缩放函数(以保存的方式实现)
* @param string $picName 被缩放的处理图片源
* @param int $maxx 缩放后图片的最大宽度
* @param int $maxy 缩放后图片的最大高度
* @param string $pre 缩放后图片名的前缀名
* @return String 返回后的图片名称(带路径),如a.jpg=>s_a.jpg
*/
function imageNewageUpdateSize($picName,$maxx=100,$maxy=100,$pre="s_"){
$imageNewageInfo = getimageNewageSize($picName); //获取图片的基本信息 $w = $imageNewageInfo[0];//获取宽度
$h = $imageNewageInfo[1];//获取高度 //获取图片的类型并为此创建相应图片资源
switch($imageNewageInfo[2]){
case 1: //gif
$imageNew = imageNewagecreatefromgif($picName);
break;
case 2: //jpg
$imageNew = imageNewagecreatefromjpeg($picName);
break;
case 3: //png
$imageNew = imageNewagecreatefrompng($picName);
break;
default:
die("图片类型错误! ");
} //计算缩放比例
if(($maxx/$w)>($maxy/$h)){
$b = $maxy/$h;
}else{
$b = $maxx/$w;
} //计算出缩放后的尺寸
$nw = floor($w*$b);
$nh = floor($h*$b); //创建一个新的图像源(目标图像)
$nimageNew = imageNewagecreatetruecolor($nw,$nh); //运行等比缩放
imageNewagecopyresampled($nimageNew,$imageNew,0,0,0,0,$nw,$nh,$w,$h); //输出图像(依据源图像的类型,输出为相应的类型)
$picimageNewageInfo = pathimageNewageInfo($picName);//解析源图像的名字和路径信息
$newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];
switch($imageNewageInfo[2]){
case 1:
imageNewagegif($nimageNew,$newpicName);
break;
case 2:
imageNewagejpeg($nimageNew,$newpicName);
break;
case 3:
imageNewagepng($nimageNew,$newpicName);
break;
}
//释放图片资源
imageNewagedestroy($imageNew);
imageNewagedestroy($nimageNew);
//返回结果
return $newpicName;
} //调用
echo imageNewageUpdateSize("./imageNewages/leyangjun.jpg",400,400,"ss_"); //你自己要加入的图片 /**
* 为一张图片加入上一个logo图片水印(以保存的方式实现)
* @param string $picName 被处理图片源
* @param string $logo 水印图片
* @param string $pre 处理后图片名的前缀名
* @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg
*/
function imageNewageUpdateLogo($picName,$logo,$pre="n_"){
$picNameimageNewageInfo = getimageNewageSize($picName); //获取图片源的基本信息
$logoimageNewageInfo = getimageNewageSize($logo); //获取logo图片的基本信息
//var_dump($logoimageNewageInfo);
//依据图片类型创建出相应的图片源
switch($picNameimageNewageInfo[2]){
case 1: //gif
$imageNew = imageNewagecreatefromgif($picName);
break;
case 2: //jpg
$imageNew = imageNewagecreatefromjpeg($picName);
break;
case 3: //png
$imageNew = imageNewagecreatefrompng($picName);
break;
default:
die("图片类型错误。");
}
//依据logo图片类型创建出相应的图片源
switch($logoimageNewageInfo[2]){
case 1: //gif
$logoimageNew = imageNewagecreatefromgif($logo);
break;
case 2: //jpg
$logoimageNew = imageNewagecreatefromjpeg($logo);
break;
case 3: //png
$logoimageNew = imageNewagecreatefrompng($logo);
break;
default:
die("logo图片类型错误!");
} //运行图片水印处理 源图的高-logo图的高 源图的宽-logo图的宽
imageNewagecopyresampled($imageNew,$logoimageNew,$picNameimageNewageInfo[0]-$logoimageNewageInfo[0],$picNameimageNewageInfo[1]-$logoimageNewageInfo[1],0,0,$logoimageNewageInfo[0],$logoimageNewageInfo[1],$logoimageNewageInfo[0],$logoimageNewageInfo[1]); //输出图像(依据源图像的类型,输出为相应的类型)
$picimageNewageInfo = pathimageNewageInfo($picName);//解析源图像的名字和路径信息
$newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];
switch($picNameimageNewageInfo[2]){
case 1:
imageNewagegif($imageNew,$newpicName);
break;
case 2:
imageNewagejpeg($imageNew,$newpicName);
break;
case 3:
imageNewagepng($imageNew,$newpicName);
break;
}
//释放图片资源
imageNewagedestroy($imageNew);
imageNewagedestroy($logoimageNew);
//返回结果
return $newpicName;
} //测试
//echo imageNewageUpdateLogo("./imageNewages/leyangjun.jpg","./imageNewages/logo.png"); //对应的图像,和你的logo水印图像 OK
PHP图片等比缩放,并添加Logo水印特定代码和盯的更多相关文章
- 图像添加logo水印函数
<?php //图像添加水印函数 /** *为一张图片添加上一个logo水印(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int ...
- 图片的滑动缩放html、css、js代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 图片的等比缩放和Logo水印
/** * 等比缩放函数(以保存的方式实现) * @param string $picname 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int ...
- PHP实现图片的等比缩放和Logo水印功能示例
文章来自于:脚本之家 文章链接:https://www.jb51.net/article/112909.htm 这篇文章主要介绍了PHP实现图片的等比缩放和Logo水印功能,结合实例形式分析了php图 ...
- php基础之gd图像生成、缩放、logo水印和简单验证码实现
gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...
- 理解CSS3中的background-size(对响应性图片等比例缩放)
理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...
- java--实现将文字生成二维码图片,并在中间附上logo,下方附上文字
前段时间因为工作需要,要实现将一段文字或者url生成二维码,然后中间附上logo,下方正中间附上文字的功能. 上网找了几篇教程学习了下,由于没有保存借鉴的博文链接,所以就没po上参考文章的链接啦,感谢 ...
- 让ie6也支持max-width,和max-height实现图片等比例缩放
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- (转载)让ie6也支持max-width,和max-height实现图片等比例缩放
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- MVC Razor标签
1. RenderBody在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到标签里有这样一条语句:@Rend ...
- C++ 习题 输出日期时间--友元类
Description 设计一个日期类和时间类,编写display函数用于显示日期和时间.要求:将Time类声明为Date类的友元类,通过Time类中的display函数引用Date类对象的私有数据, ...
- 设计模式——工厂模式(Factory)
要想正确理解设计模式,首先必须明白它是为了解决什么问题而提出来的. 设计模式学习笔记 --Shulin 转载请注明出处:http://blog.csdn.net/zhshulin 1.概念 工厂模式定 ...
- 最佳新秀SSH十六Struts2它是如何工作的内部
前面说完了Spring.Hibernate,非常自然今天轮到struts了.struts的核心原理就是通过拦截器来处理client的请求,经过拦截器一系列的处理后,再交给Action.以下先看看str ...
- 用Jstack跟踪Cpu占用率的Java线程(转)
以下方法在centOS下执行通过:1.先定位占用cpu高的进程 top 2.使用以下命令 ps p 14766 -L -o pcpu,pid,tid,time,tname,stat,psr | sor ...
- T-SQL中default值的使用
今天介绍一下通过T-SQL语句来创建表时使用default的关键字来自动使用默认值,这个关键字和其它的如:identity,primary key ,not null ,unique等不是相同,这里简 ...
- 【C语言探索之旅】 第一部分第五课:运算那点事
内容简介 1.课程大纲 2.第一部分第五课:运算那点事 3.第一部分第六课预告:条件表达式 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏 ...
- 【Android基础】Activity之间进行参数传递的三种方式
1.使用Intent进行传输 //发送数据的Activity class button implements OnClickListener{ @Override public void onClic ...
- Android剪裁图片简单的方法
/** * 按正方形裁切图片 */ public static Bitmap ImageCrop(Bitmap bitmap) { int w = bitmap.getWidth(); // 得到图片 ...
- 经纪xx系统节点VIP案例介绍和深入分析异常
系统环境 硬件平台 & 操作 IBM 570 操作系统版本号 AIX 5.3 物理内存 32G Oracle 产品及版本号 10.2.0.5 RAC 业务类型 OLTP 背 ...