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

PHP
默默小谈PHP&MYSQL分页原理及实现
新手学PHP之数据库操作详解及乱码解决!
PHP Ajax实现页面无刷新发表评论
windows下PHP APACHE MYSQ完整配置
Ajax PHP分页演示
Smarty结合Ajax实现无刷新留言本实例
一个用php实现的获取URL信息的类
一个PHP操作Access类(PHP+ODBC+Access)
php你的验证码安全码?
PHP无限分类的类
phpwind中的数据库操作类
开发大型 PHP 项目的方法
require(),include(),require_once()和include_once()的异同
PHP语法速查表
PHP中的日期处理方法集锦
php中常用编辑器推荐
分享PHP入门的学习方法
PHP+MYSQL开发工具及资源收藏
帖几个PHP的无限分类实现想法~
DISCUZ 分页代码

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


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