<?

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水印特定代码和盯的更多相关文章

  1. 图像添加logo水印函数

    <?php //图像添加水印函数 /** *为一张图片添加上一个logo水印(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int ...

  2. 图片的滑动缩放html、css、js代码

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. 图片的等比缩放和Logo水印

    /** * 等比缩放函数(以保存的方式实现) * @param string $picname 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int ...

  4. PHP实现图片的等比缩放和Logo水印功能示例

    文章来自于:脚本之家 文章链接:https://www.jb51.net/article/112909.htm 这篇文章主要介绍了PHP实现图片的等比缩放和Logo水印功能,结合实例形式分析了php图 ...

  5. php基础之gd图像生成、缩放、logo水印和简单验证码实现

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...

  6. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...

  7. java--实现将文字生成二维码图片,并在中间附上logo,下方附上文字

    前段时间因为工作需要,要实现将一段文字或者url生成二维码,然后中间附上logo,下方正中间附上文字的功能. 上网找了几篇教程学习了下,由于没有保存借鉴的博文链接,所以就没po上参考文章的链接啦,感谢 ...

  8. 让ie6也支持max-width,和max-height实现图片等比例缩放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. (转载)让ie6也支持max-width,和max-height实现图片等比例缩放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. DP:树DP

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  2. 802.11(wifi)的MAC层功能

    MAC层是802.11的主要功能部分.上层应用通过调用MAC层提供的接口原语调用MAC层的功能. MAC一共向上提供了2大类接口原语,共30种.数据(1)和管理(29).数据部分就是提供普通数据包的收 ...

  3. 在基于阿里云serverCentOS6.5下安装Subversion 1.6.5服务

    近期阿里云搞了个1元免费提供云server的活动,偶心痒痒就申请了一个. 正好能够作为团队的SVNserver了,以下就来部署SVN服务吧. 一.安装基础环境 apr-1.5.0.tar.gz apr ...

  4. Windows在结构Eclipse+Android4.0开发环境

    官方搭建步骤: http://developer.android.com/index.html 搭建好开发环境之前须要下载以下几个文件包: 一.安装Java执行环境JRE(没这个Eclipse执行不起 ...

  5. swift的struct本节描述结构的类型

    <span style="font-size:24px;">struct David { var x = 0;//一个结构的定义,两个字段x,y var y = 0;/ ...

  6. 得知Android小遴选程序第七头(他们定义对话框、Gallery、ImageSwitcher)

    效果如下面的:            一共一个activity和两个xml. ******当我们须要使用的组件不在setContentView()设置的布局文件里,那我们就须要使用inflate()方 ...

  7. 移动web:tab选项卡

    平常做移动端会用到tab选项卡,这和PC端有些区别,移动端是触摸滑动切换,PC端是点击.移入切换. 这里滑动切换就是一个移动端事件的应用,这里主要用到的触摸事件:touchstart.touchmov ...

  8. Linux Kernel(Android) 加密算法汇总(三)-应用程序调用内核加密算法接口

    于Linux Kernel(Android) 加密算法总结(cipher.compress.digest)文章中.介绍了怎样在内核中增加三种不同类型的内核加密算法, 并给出了在内核模块中怎样调用他们的 ...

  9. Ural 1309 Dispute (递归)

    意甲冠军: 给你一个数列: f(0) = 0 f(n) = g(n,f(n-1)) g(x,y) = ((y-1)*x^5+x^3-xy+3x+7y)%9973 让你求f(n)  n <= 1e ...

  10. OCP-1Z0-051-题目解析-第14题

    14. Using the CUSTOMERS table,  you need to generate a report that shows 50% of each credit        a ...