当前位置: 首页 > 图文教程 > 网络编程 > PHP > ImageTTFText函数实现图像加文字水印

PHP
一键删除顽固的空文件夹 软件下载
获得Google PR值的PHP代码
解决控件遮挡问题:关于有窗口元素和无窗口元素
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
一个数据采集类
php中的一个中文字符串截取函数
自己前几天写的无限分类类
简单采集了yahoo的一些数据
回答PHPCHINA上的几个问题:URL映射
模拟flock实现文件锁定
一个捕获函数输出的函数
cache_lite试用
再次研究下cache_lite
PHP数据缓存技术
修改了一个很不错的验证码,共享之。
谈谈PHP的输入输出流
使用apache模块rewrite_module (转)
让PHP支持页面回退的两种方法[转]
mysql中存储过程、函数的一些问题

PHP 中的 ImageTTFText函数实现图像加文字水印


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 329 ::
收藏到网摘: n/a

ImageTTFText函数实现PHP图像加文字水印功能

一个ImageTTFText函数包含了如下的参数

imagettftext (image,size,angle, x, y,color,fontfile,text)

意思是 imagettftext() 将字符串 text 画到 image 所代表的图像上,从坐标 x,y(左上角为 0, 0)开始,角度为 angle,颜色为 color,使用 fontfile 所指定的 TrueType 字体文件。根据 PHP 所使用的 GD 库的不同,如果 fontfile 没有以 '/'开头,则 '.ttf' 将被加到文件名之后并且会搜索库定义字体路径。

由 x,y 所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。这和 imagestring() 不同,其 x,y 定义了第一个字符的右上角。

angle 以角度表示,0 度为从左向右阅读文本(3 点钟方向),更高的值表示逆时针方向(即如果值为 90 则表示从下向上阅读文本)。

fontfile 是想要使用的 TrueType 字体的文件名。

text 是文本字符串,可以包含 UTF-8 字符序列(形式为:{)来访问字体中超过前 255 个的字符。

color 是颜色的索引值。使用某颜色索引值的负值具有关闭防混色的效果

例如下面的 img.php 源码,应用则可使用为 <img src="img.php">

以下为引用的内容:
====================img.php

<?php
Header("Content-type: image/png");
/*通知浏览器,要输出图像*/

//$im = imagecreate(400 , 300);
/*如果没有指定图像,可以自定义图像的大小*/

$im = imagecreatefromjpeg("gd04.jpg");

$pink = ImageColorAllocate($im, 0 , 0 , 0);

$fontfile = "C:\WINDOWS\Fonts\方正静蕾简体.ttf";
/* $fontfile 字体的路径,视操作系统而定,可以是 simhei.ttf(黑体) , SIMKAI.TTF(楷体) , SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体) 等 GD 支持的中文字体*/

$str = iconv('GB2312','UTF-8','你想要的字符水印');
/*将 gb2312 的字符集转换成 UTF-8 的字符*/

ImageTTFText($im, 25,10,140,240,$pink,$fontfile,$str);
/* 加入中文水印 */

Imagepng($im);
ImageDestroy($im);
?>


如果需要做成动态URL的水印,则将
$str = iconv('GB2312','UTF-8','你想要的字符水印');
替换使用
$str = iconv('GB2312','UTF-8',$_REQUEST["id"]);
即可