首页 > 代码库 > php图片的应用-生成带有水印文字的图片-生成带有水印图标的图片-生成缩略图(//为注释内容,不影响文件执行)
php图片的应用-生成带有水印文字的图片-生成带有水印图标的图片-生成缩略图(//为注释内容,不影响文件执行)
<?php
////////////////定义水印文字函数开始//////////////////
function watertext($i,$t=‘版权所有‘,$s=20,$c=‘white‘,$p=9){
$img = imagecreatefromjpeg($i); //imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
$cc = ‘‘;
////////switch循环,循环水印文字的颜色 开始//////
switch($c){
case ‘white‘:
$cc = imagecolorallocatealpha($img,255,255,255,50);
break;
case ‘red‘:
$cc = imagecolorallocatealpha($img,255,0,0,50);
break;
case ‘green‘:
$cc = imagecolorallocatealpha($img,0,255,0,50);
break;
case ‘blue‘:
$cc = imagecolorallocatealpha($img,0,0,255,50);
break;
default:
$cc = imagecolorallocatealpha($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255),mt_rand(0,100));
break;
}
/////////switch循环,循环水印文字的颜色 结束//////
//imagecolorallocatealpha — 为一幅图像分配颜色 + alpha
$c = imagecolorallocatealpha($img,255,255,255,80);
//定义水印文字的字体
$font = dirname(__FILE__).‘/h.ttf‘; //dirname — 返回路径中的目录部分
//imagettfbbox — 取得使用 TrueType 字体的文本的范围
$r = imagettfbbox($s,0,$font,iconv(‘gbk‘,‘utf-8‘,$t));
$ttfw = $r[2] - $r[0] + 10;
$ttfh = $r[1] + 10;
$x = imagesx($img)-$ttfw; //imagesx — 取得图像宽度
$y = imagesy($img)-$ttfh; //imagesy — 取得图像高度
//imagettftext — 用 TrueType 字体向图像写入文本
imagettftext($img,$s,0,$x,$y,$cc,$font,iconv(‘gbk‘,‘utf-8‘,$t));
imagejpeg($img,$i); //imagejpeg — 输出图象到浏览器或文件。
imagedestroy($img); //imagedestroy — 销毁一图像
}
////////////////定义水印文字函数结束//////////////////
////////////////定义水印图标函数开始//////////////////
function watericon($i){
$img = imagecreatefromjpeg($i); //imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
// 找到某个文件夹下制作好的水印图标文件
$l = dirname(__FILE__).‘/logo.png‘; //dirname — 返回路径中的目录部分
$logo = imagecreatefrompng($l); //imagecreatefrompng — 由文件或 URL 创建一个新图象。
$xx = imagesx($logo); //imagesx — 取得水印图像宽度
$yy = imagesy($logo); //imagesy — 取得水印图像高度
$x = imagesx($img)-$xx-15; //定义水印图标在图片中的x坐标
$y = imagesy($img)-$yy-15; //定义水印图标在图片中的y坐标
imagecopy($img,$logo,$x,$y,0,0,$xx,$yy); //imagecopy — 拷贝图像的一部分
imagejpeg($img,$i); ////imagejpeg — 输出图象到浏览器或文件。
imagedestroy($img); //imagedestroy — 销毁一图像
imagedestroy($logo); //imagedestroy — 销毁一图像
}
//a.jpg s_a.jpg
////////////////定义水印图标函数结束//////////////////
////////定义缩略图函数开始//////////
function thumd($i,$w=170,$h=0){ // 默认宽为170,高成比例
$ww = $w;
$hh = $h;
$img = imagecreatefromjpeg($i); ////imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
$iw = imagesx($img); //imagesx — 取得水印图像宽度
$ih = imagesy($img); //imagesy — 取得水印图像高度
//如果高为0,则高按比例自动计算
if($h==0){
$hh = $w/$iw * $ih;
}
$new = imagecreatetruecolor($ww,$hh); //imagecreatetruecolor — 新建一个真彩色图像
//imagecopyresampled — 重采样拷贝部分图像并调整大小
imagecopyresampled($new,$img,0,0,0,0,$ww,$hh,$iw,$ih);
//pathinfo — 返回文件路径的信息
$path = pathinfo($i,PATHINFO_DIRNAME).‘/s_‘.pathinfo($i,PATHINFO_BASENAME);
imagejpeg($new,$path); ////imagejpeg — 输出图象到浏览器或文件。
imagedestroy($new); //imagedestroy — 销毁一图像
imagedestroy($img); //imagedestroy — 销毁一图像
}
////////定义缩略图函数结束//////////
////////////////定义水印文字函数开始//////////////////
function watertext($i,$t=‘版权所有‘,$s=20,$c=‘white‘,$p=9){
$img = imagecreatefromjpeg($i); //imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
$cc = ‘‘;
////////switch循环,循环水印文字的颜色 开始//////
switch($c){
case ‘white‘:
$cc = imagecolorallocatealpha($img,255,255,255,50);
break;
case ‘red‘:
$cc = imagecolorallocatealpha($img,255,0,0,50);
break;
case ‘green‘:
$cc = imagecolorallocatealpha($img,0,255,0,50);
break;
case ‘blue‘:
$cc = imagecolorallocatealpha($img,0,0,255,50);
break;
default:
$cc = imagecolorallocatealpha($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255),mt_rand(0,100));
break;
}
/////////switch循环,循环水印文字的颜色 结束//////
//imagecolorallocatealpha — 为一幅图像分配颜色 + alpha
$c = imagecolorallocatealpha($img,255,255,255,80);
//定义水印文字的字体
$font = dirname(__FILE__).‘/h.ttf‘; //dirname — 返回路径中的目录部分
//imagettfbbox — 取得使用 TrueType 字体的文本的范围
$r = imagettfbbox($s,0,$font,iconv(‘gbk‘,‘utf-8‘,$t));
$ttfw = $r[2] - $r[0] + 10;
$ttfh = $r[1] + 10;
$x = imagesx($img)-$ttfw; //imagesx — 取得图像宽度
$y = imagesy($img)-$ttfh; //imagesy — 取得图像高度
//imagettftext — 用 TrueType 字体向图像写入文本
imagettftext($img,$s,0,$x,$y,$cc,$font,iconv(‘gbk‘,‘utf-8‘,$t));
imagejpeg($img,$i); //imagejpeg — 输出图象到浏览器或文件。
imagedestroy($img); //imagedestroy — 销毁一图像
}
////////////////定义水印文字函数结束//////////////////
////////////////定义水印图标函数开始//////////////////
function watericon($i){
$img = imagecreatefromjpeg($i); //imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
// 找到某个文件夹下制作好的水印图标文件
$l = dirname(__FILE__).‘/logo.png‘; //dirname — 返回路径中的目录部分
$logo = imagecreatefrompng($l); //imagecreatefrompng — 由文件或 URL 创建一个新图象。
$xx = imagesx($logo); //imagesx — 取得水印图像宽度
$yy = imagesy($logo); //imagesy — 取得水印图像高度
$x = imagesx($img)-$xx-15; //定义水印图标在图片中的x坐标
$y = imagesy($img)-$yy-15; //定义水印图标在图片中的y坐标
imagecopy($img,$logo,$x,$y,0,0,$xx,$yy); //imagecopy — 拷贝图像的一部分
imagejpeg($img,$i); ////imagejpeg — 输出图象到浏览器或文件。
imagedestroy($img); //imagedestroy — 销毁一图像
imagedestroy($logo); //imagedestroy — 销毁一图像
}
//a.jpg s_a.jpg
////////////////定义水印图标函数结束//////////////////
////////定义缩略图函数开始//////////
function thumd($i,$w=170,$h=0){ // 默认宽为170,高成比例
$ww = $w;
$hh = $h;
$img = imagecreatefromjpeg($i); ////imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
$iw = imagesx($img); //imagesx — 取得水印图像宽度
$ih = imagesy($img); //imagesy — 取得水印图像高度
//如果高为0,则高按比例自动计算
if($h==0){
$hh = $w/$iw * $ih;
}
$new = imagecreatetruecolor($ww,$hh); //imagecreatetruecolor — 新建一个真彩色图像
//imagecopyresampled — 重采样拷贝部分图像并调整大小
imagecopyresampled($new,$img,0,0,0,0,$ww,$hh,$iw,$ih);
//pathinfo — 返回文件路径的信息
$path = pathinfo($i,PATHINFO_DIRNAME).‘/s_‘.pathinfo($i,PATHINFO_BASENAME);
imagejpeg($new,$path); ////imagejpeg — 输出图象到浏览器或文件。
imagedestroy($new); //imagedestroy — 销毁一图像
imagedestroy($img); //imagedestroy — 销毁一图像
}
////////定义缩略图函数结束//////////
php图片的应用-生成带有水印文字的图片-生成带有水印图标的图片-生成缩略图(//为注释内容,不影响文件执行)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。