PHP添加文字水印
原创 52cxy 11-25 17:23 阅读数:447

PHP添加文字水印,支持旋转、半透效果,代码如下:

/**
 * 图片格式转换
 * @param string $src 原图片完整路径
 * @param string $text 要添加的文字
 * @param string $fontName 字体
 * @param string $fontSize 字号
 * @param string $angel 旋转角度
 * @param string $x 文字x坐标
 * @param string $y 文字y坐标
 * @param string $color 文字颜色
 * @param string $alpha 文字透明度(0-127)
 * @return 0|1 成功返回0 失败返回1
 */
function addTextMark($src, $text, $fontName, $fontSize, $angel, $x, $y, $color=array("R"=>0, 'G'=>0, 'B'=>0), $alpha=0)
{
	$imgInfo = getimagesize($src);
	$imgType = $imgInfo[2];
	
	 if($imgType == 1){
	 	$imgData = imagecreatefromgif($src);
	 }
	 elseif($imgType == 2){
	 	$imgData = imagecreatefromjpeg($src);
	 }
	 elseif($imgType == 3){
	 	$imgData = imagecreatefrompng($src);
	 }
 
	$textColor = imagecolorallocatealpha($imgData, $color['R'], $color['G'], $color['B'], $alpha);

	imagettftext($imgData, $fontSize, $angel, $x, $y, $textColor, $fontName, $text);

	if($imgType == 1){
		imagejpeg($imgData, $src);
	}
	elseif($imgType == 2){
		ImagePNG($imgData, $src);
	}
	elseif($imgType == 3){
		imagegif($imgData, $src);
	}
}

测试代码:

 addTextMark("sample.jpg", "添加的这也", "/tmp/msyh.ttc", 24, 0, 0, 100, array("R"=>255, 'G'=>0, 'B'=>0), 90);


共0条评论
我要评论