PHP图片加水印

完整代码

<?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 )
检查文件或目录是否存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值