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

PHP
mysql 字段类型说明
mysql 搜索之简单应用
mysql 全文搜索 技巧
escape unescape的php下的实现方法
解决php中Cannot send session cache limiter 的问题的方法
php 中的str_replace 函数总结
php下的权限算法的实现
php下实现折线图效果的代码
php中的MVC模式运用技巧
什么是MVC,好东西啊
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
不错的PHP学习之php4与php5之间会穿梭一点点感悟
MySQL授权问题总结
站长助手-网站web在线管理程序 v1.0 下载
MySQL GBK→UTF-8编码转换
中国站长站 For Dede4.0 采集规则
Win2003下IIS+PHP+MySQL+Zend配置步骤详解
Discuz板块横排显示图片的实现方法
测试您的 PHP 水平的题目
PHP5.2下chunk_split()函数整数溢出漏洞 分析

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


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