图片加水印

本文详细介绍了如何使用PHP的GD库从文件或URL创建图像,并演示了如何为图片添加水印。通过实例代码,展示了从读取图片、创建图像、添加水印到输出图像的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

imagecreatefromgd  ---- 从GD文件或URL新建一图像
imagecreatefromgd2 ----从GD2文件或URL新建一图像
imagecreatefromgif ----由文件或URL创建一个新图像

图片加水印

1.将图片文件读取出来,存入到一个变量中

<?php
//加载图片
$imgfile = "xxb.jpg";

$str = file_get_contents("$imgfile");

2.创建图像

$img = imagecreatefromstring($str);
if($img === false){
	die('创建图像失败');
}

3.输出图像

header('content-type:image/png');
imagepng($img);
imagedestroy($img);

输出的图片如下:

xxb.jpg

 

 

 

 

 

4.加水印(即在图像上输出字符)引入字体库

$font = "STCAIYUN.TTF";
if(!file_exists($font)){
	die('字体库文件不存在');
}
$text = "XXX版权所有";
$color = imagecolorallocate($img, 255, 255, 255);
imagettftext($img,18,0,25,25,$color,$font,$text);
// header('content-type:image/png');
imagepng($img,'new'.$imgfile);
imagedestroy($img);

echo '生成图像文件成功';

5.生成一个新图像(在文件夹下)会在名字前面加new

输出加水印的图片如下:

newxxb,jpg

 

 

 

 

 

整体代码如下:

<?php
//加载图片
$imgfile = "xxb.jpg";
//将图片文件读取出来,存入到一个变量中
$str = file_get_contents("$imgfile");

//字符串编码gb2312->utf8
// $str = iconv('gb2312','utf-8',$str);
// $str = mb_convert_encoding($str,'utf-8','gb2312');
// $str = nl2br($str);//将换行符转换成br标签进行输出
//创建图像
$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,18,0,25,25,$color,$font,$text);
// header('content-type:image/png');
imagepng($img,'new'.$imgfile);
imagedestroy($img);

echo '生成图像文件成功';

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值