给图片加水印的具体做法.doc
文本预览下载声明
给图片加水印的具体做法(文字型水印和图片型水印)
Test.php文件具体内容:
?php
/*
* 功能:PHP图片水印 (水印支持图片或文字)
* 参数:
* $backImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterPos 水印位置,有10种状态,0为随机位置;
* 1为顶端居左,2为顶端居中,3为顶端居右;
* 4为中部居左,5为中部居中,6为中部居右;
* 7为底端居左,8为底端居中,9为底端居右;
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
* $textFont 文字大小,值为1、2、3、4或5,默认为5;
* $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
*
* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
* $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
* 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
* 加水印后的图片的文件名和 $backImage 一样。
*原作者:longware 于2004-11-3
*修改:杨正元 2012-2-25 16:13:23
*
*/
function imageWaterMake($backImage,$waterPos=0,$waterImage=,$waterText=,$textFont=5,$textColor=#234567)
{
$isWaterImage = FALSE;
$formatMsg = 暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。;
//读取水印文件
if (!empty($waterImage) file_exists($waterImage)){
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
/*
* getimagesize($waterImage)
* 解释:
* 这里$arr为一个数组类型
* $arr[0] 为图像的宽度
* $arr[1] 为图像的高度
* $arr[2] 为图像的格式,包括jpg、gif和png等
* $arr[3] 为图像的宽度和高度,内容为 width=xxx height=yyy
*/
$water_w = $water_info[0];//取得水印图片的宽
$water_h = $water_info[1];//取得水印图片的高
switch ($water_info[2]){//取到水印图片的格式
case 1:
$water_image = imagecreatefromgif($waterImage);
break;
case 2:
$water_image = imagecreatefromjpeg($waterImage);
break;
case 3:
$water_image = imagecreatefrompng($waterImage);
break;
default:
die($formatMsg);
}
}
//读取背景图片
if(file_exists($backImage) !empty($backImage)){
$back_info = getimagesize($backImage);
$back_w = $back_info[0];//取得背景图片的宽
$back_h = $back_info[1];//取得背景图片的高
switch ($back_info[2]){//取到水印图片的格式
case 1:
$back_image = imagecreatefromgif(
显示全部