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

PHP
PHP的GD函数imagettftext()要注意默认字符编码
PHP下载CSS文件中的图片
PHP任意图像裁剪成固定大小
PHP实例解析:实现给上传图片加水印图案
网友分享:二十五个顶级PHP模板引擎整理
PHP开发搜索引擎技术全解析
基于MySQL数据库的UTF8中文网站全文检索的实现
使用PHP调用TinyURL API的方法
彻底杜绝PHP的session cookie错误
新手必看的PHP学习入门的一些基础知识
在HTML中利用js调用php的内容
有关 PHP 和 MySQL 时区的一点总结
菜鸟课堂:有效防御PHP木马攻击的技巧
配置PHP站点安全综合教程
基于UML的城轨列车超速防护系统建模
专家预言:PHP将比Java更受开发人员欢迎
PHP CLI模式下的多进程应用
PHP企业级应用之WebService续篇
用php定制404错误页面 并发信通知管理员
为Vista/Win08中的IIS7添加PHP支持

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 262 ::
收藏到网摘: 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"]);
即可