background image

 

PHP 源码:php 图片加中文水印实现代码

php 中要给中文加水印需要作一些简单的处理,一就是要把字符转换成 gbk,还有就是要
加载中文字体哦,有了这两个条件在图片加中文水印就简单了。
例 1 
代码如下:
 
<?php 
Header("Content-type: image/png"); 

/*通知浏览器,要输出图像*/

 

$im

 = imagecreate(400 , 300); 

/*定义图像的大小*/

 

$gray

 = ImageColorAllocate(

$im

 , 235 , 235 , 235); 

$pink

 = ImageColorAllocate(

$im

, 255 , 128 , 255); 

$fontfile

 = "simkai.ttf"; 

/* $fontfile 字体的路径,视操作系统而定,

 

可以是 simhei.ttf(黑体) , SIMKAI.TTF(楷体) , 

SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体) 

 

等 GD 支持的中文字体*/

 

$str

 = iconv('GB2312','UTF-8','中文水印'); 

/*

 

将 gb2312 

 

的字符集转换成 UTF-8 的字符*/

 

ImageTTFText(

$im

, 30, 0, 100, 200, 

$pink

 , 

$fontfile

 , 

$str

); 

/* 

 

加入中文水印 */

 

Imagepng(

$im

); 

ImageDestroy(

$im

); 

?> 
 
例 2 

 

复制代码 代码如下:
 
<?php 

// **************************************** // 
// 功能:

 

给图片添加文字

// 参数: $img 

 

图片文件名

// $new_img 另存图片文件名,

 

如果为空表示不另存图片

// $text 

 

字符串内容

// text_size 

 

字符串大小

// text_angle 

 

字型串输出角度

// text_x 

 

字符串输出 x 

 

坐标

// text_y 

 

字符串输出 y 

 

坐标

// $text_font 

 

字型文件名

// $r,$g,$b 字符串颜色 RGB

 

// **************************************** // 
function

 img_text(

$img

$new_img

$text

$text_size

$text_angle

$text_x

$text_y

$text_font

$r

$g

$b

){ 

$text

=iconv("gb2312","UTF-8",

$text

);