• 冒险村物语
  • 英雄无敌3塔防
  • 驾考家园手游

php图片的应用-生成带有水印文字的图片-生成带有水印图标的图片-生成缩略图(//为注释内容,不影响文件执行)

2015-05-27

////////////////定义水印文字函数开始//////////////////
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 ― 销毁一图像
}
////////定义缩略图函数结束//////////
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)

人气推荐

知识阅读

精彩推荐

  • 游戏
  • 软件
查看更多>>