完整代码
<?php
//加载图片
$imgfile = '1.jpg';
//header('content-type:text/html;charset=utf8');
//将图片文件读取出来,存入到一个变量中
$str = file_get_contents($imgfile);
//创建图像
$img = imagecreatefromstring($str);
if($img === false){
die('创建图像失败');
}
//加水印(即在图像上输出字符)
$font = 'STCAIYUN.TTF';
if(!file_exists($font)){
die('字体库文件不存在');
}
$text = 'XXX版权所有';
$color = imagecolorallocate($img,255,255,255);
imagettftext($img,30,-45,50,50,$color,$font,$text);
imagepng($img,'new-'.$imgfile);
imagedestroy($img);
echo '生成图像文件成功';
第一步:选择一张你自己喜欢的图片
第二步:把它定义成一个函数
$imgfile = '1.jpg';
第三步:将图片文件读取出来,存入到一个变量中,我们使用 file_get_contents函数
$str = file_get_contents($imgfile);
第四步:创建图像
$img = imagecreatefromstring($str); if($img === false){ die('创建图像失败'); }
第五步:加水印(即在图像上输出字符),最重要的是需要引入自字库文件,在c盘windows/fonts文件下进行复制STCAIYUN.TTF文件到当前文件夹
$font = 'STCAIYUN.TTF'; if(!file_exists($font)){ die('字体库文件不存在'); }
第六步:设置自己想要的文件
$text = 'XXX版权所有';
第七步:设置字体颜色
$color = imagecolorallocate($img,255,255,255);
第八步:把各个准备好的值放在函数里边
imagettftext($img,30,-45,50,50,$color,$font,$text);
第九步:输出画布,并定义一个加完水印你想让图片存在的位置
imagepng($img,'new-'.$imgfile);
第十步:销毁画布
imagedestroy($img);
file_get_contents
file_get_contents — 将整个文件读入一个字符串
说明
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败, file_get_contents() 将返回 FALSE 。
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
$str = file_get_contents($imgfile);
file_exists
file_exists — 检查文件或目录是否存在
说明
bool file_exists ( string $filename )
检查文件或目录是否存在。