<?

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. HDU 4149 Magic Potion

    意甲冠军: a[i] ^ x = f[i] ( i = 1...8 ) 和 ( a[1] + a[2] + ... + a[8] ) ^ x = f[9] 如今f为已知  求x 思路: 从低位到高位确 ...

  2. [原创] linux 下上传 datapoint数据到yeelink 【golang版本】同时上传2个数据点

    /* Create by sndnvaps<sndnvaps@gmail.com> * data: 2015-04-12* upload 2 datapoint to yeelink.ne ...

  3. 《Java程序书面采访猿收藏》之 instanceof的作用是什么

    instanceof它是Java二元运算语言,它的作用是推断对象变量引用被指向的类型是一类(或接口.抽象类.父亲)示例.即,对象是否是它的一个实例离开它的类的权.返回boolean数据类型. 常见的使 ...

  4. Xamarin.Android 使用 SQLiteOpenHelper 进行数据库操作

    一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提 ...

  5. 合作编辑室计费系统(一)-SVN常见错误

    联合室已完成,在不到一个月的时间,我们的团队:嗤.陈琛.我.这段时间都挺辛苦的.从心里这次合作,真的让我们学习了非常多,学会了接纳和承担. 在我们開始合作机房的时候,社和师哥就给我们做了功课,说你们好 ...

  6. 使用HTML5 Canvas做些什么

    百分比圆环进度条   // ----------------------------------------------------------- 柱状排行榜统计图   // ------------ ...

  7. 从头开始建网站(三)DNS

    前面介绍了站点搭建所须要的两大要素:域名和server,这次要说的是域名解析,也就是把域名和server进行绑定的过程. 我们在訪问网络时,网址会被发送到DNSserver,然后由DNSserver返 ...

  8. C/C++:C++友元类

    C++友元类: 正常情况下,一个类是訪问不到还有一个类的私有成员的. 就像以下这个: #include <iostream> class A{ private: int a; public ...

  9. UML 简单的总结

    上某一个地方,总有个记忆挥不散,每一个深夜某一个地方,总有着最深的思量- 都说岁月无情人有情,记忆easy催人老,可有时候反倒觉着人比岁月更无情.岁月留下了我们成长的印记,但是有时候以前认为会相伴永远 ...

  10. GLEW_ERROR_NO_GL_VERSION的解决方法

    关于 GLenum err = glewInit(); if (GLEW_OK != err) fprintf(stderr, "error initializaing GLew %s\n& ...