<? //统计混合汉字英文字符的实际字符数,只对gb2312码有效
function str_len($str){
$length=0;
for($i=0;$i<strlen($str);$i++){
if(ord($str[$i])>0x80)
$i++;
$length++;
}
return $length;
}
//待添加水印图片
$imagefile = "3.jpg";
//待添加文字
$str = "照片由戈多上传于".date("Y年m月d日H时i分s秒");
//由于掺杂汉字,原生函数无法统计真实字符数,造成水印文字无法居中
//所以自己写了个函数统计,如果有mbstring库支持,换用mb_strlen也可以
$len = str_len($str);
//如果源程序基于utf-8编码,不需要做字符转换,删除此行
$str = iconv('gb2312','utf-8',$str);
//获取原图大小
$size = getimagesize($imagefile);
//底边矩形高度
$bottom_height = 20;
//字体大小
$font_size = 10;
$im = imagecreatetruecolor($size[0], $size[1]+$bottom_height);
//底边矩形背景色,修改最后三个RGB参数改变颜色
$bgcolor = imagecolorallocate($im,100,120,100);
//字体颜色
$ftcolor = imagecolorallocate($im,255,255,255);
imagefill($im,0,0,$bgcolor);
//默认从jpeg创建,如从其他图片创建,可根据扩展名选择函数
$jpeg = imagecreatefromjpeg($imagefile);
imagecopy($im,$jpeg,0,0,0,0,$size[0],$size[1]);
$start_x = ($size[0]-$len*$font_size)/2;
$start_x = ($start_x>0?$start_x:0);
$start_y = $size[1]+$font_size+($bottom_height-$font_size)/2;
//C:/windows/fonts/SIMHEI.TTF为ttf字库文件,此处为黑体
imagettftext($im,$font_size,0,$start_x,$start_y,$ftcolor,"C:/windows/fonts/SIMHEI.TTF",$str);
header("Content-type: image/jpeg");
imagejpeg($im);
imageclose($im);
imageclose($jpeg);
?>
- 大小: 18.8 KB
分享到:
相关推荐
PHP水印类是一种用于在图片上添加水印效果的PHP脚本工具。它通过编写一个类,让开发者在网页设计或图像处理时能够方便地给图片添加文字、图片和填充颜色区域等水印效果。以下是该PHP水印类支持实现的具体知识点。 ...
特别是对于需要动态生成图形的场景,比如统计图表、水印图片、验证码等,PHP的GD库提供了强大的图像处理功能。本篇内容主要介绍如何使用PHP中的GD库来绘制一个矩形。通过这个基础例子,您可以学习到如何使用GD库的...
6. 扩展功能:除了基本操作,Phppdf可能还支持添加页眉页脚、水印、书签、自动换行、分栏、多列文本、PDF安全设置等功能,满足更多复杂的PDF生成需求。 7. 注意事项:由于PDF格式的复杂性,生成PDF时可能遇到编码...
本篇文章将详细讲解基于PHP的验证码生成类,以及如何利用GD库来创建汉字验证码,同时添加边框、雪花效果和水印。 PHP验证码类通常包含以下核心功能: 1. **生成随机数字或字母**:验证码通常由4-6个随机字符组成,...
3. 文字处理:`imagestring()`, `imagettftext()` 可以在图像上添加文字,`imagettfbbox()` 用于计算TrueType字体的边界框。 4. 颜色管理:`imagecolorallocate()`, `imagecolorat()`, `imagecolorexact()` 等函数...
在PHP中,图像处理是一个非常重要的领域,尤其对于创建动态网站和Web应用程序来说,例如生成验证码、绘制图表、处理上传的图片等。PHP提供了一系列的内置函数来支持图像处理,这些函数可以帮助开发者创建、修改和...
- **图片处理**:能够插入、格式化图片,支持本地、远程图片及页面水印。 - **OLE对象插入**:可以插入二进制OLE对象,例如Excel表格或Visio图表。 - **表格操作**:支持插入表格,同时可以格式化表格中的每一行和...
4. **水印**:可以在缩略图上添加文字或图像水印,保护版权或者增加品牌标识。 5. **滤镜效果**:可以应用模糊、锐化、边框等图像处理效果,增强图片的视觉呈现。 6. **质量控制**:可以调整JPEG的质量,平衡图像...
inset模式下,开发者需要指定一个定框尺寸,图片将在这个框内进行缩放。outbound模式是Imagine的默认裁剪方式,它会尽可能多地截取图片的一部分,然后居中缩放到指定的尺寸。如果指定的宽度和高度为null,Imagine还...
- **作用**:用于在报表中实现数据分组,并展示每组的数据。 - **支持情况**:所有版本均支持。 **6. Header(页头)与Footer(页脚)** - **作用**:与PageHeader和PageFooter类似,但更加灵活,可用于定义每个节...
6. **图像合并与水印**:可以将一个图像叠加到另一个图像上,常用于添加水印或合成图像。 7. **性能优化**:GD库针对内存使用和速度进行了优化,适合处理大量图像数据。 **GD-AWK的具体应用** 1. **动态图表**:...