`

php图片添加文字水印实现代码

    博客分类:
  • PHP
 
阅读更多
http://my.oschina.net/zyt1978/blog/638426
<?php
/*PHP图片加文字水印类库
QQ:3697578482 伤心的歌
该类库暂时只支持文字水印,位置为右下角,颜色随机
调用方法:
1、在需要加水印的文件顶部引入类库:
include_once 'imageClass.php';
2、声明新类:
$tpl=new image_fu;
3、给图片水印提供参数:
$tpl->img(图片路径,水印文字,字体路径,字体大小,字体角度);
比如:$tpl->img('abc.jpg','这是水印文字','ziti.ttf',30,0)
*/
class image_fu{
private $image ;
private $img_info ;
private $img_width ;
private $img_height ;
private $img_im ;
private $img_text ;
private $img_ttf = '' ;
private $img_new ;
private $img_text_size ;
private $img_jd ;
function img( $img = '' , $txt = '' , $ttf = '' , $size =12, $jiaodu =0){
if (isset( $img )&& file_exists ( $img )){ //检测图片是否存在
$this ->image = $img ;
$this ->img_text= $txt ;
$this ->img_text_size= $size ;
$this ->img_jd= $jiaodu ;
if ( file_exists ( $ttf )){
$this ->img_ttf= $ttf ;
} else {
exit ( '字体文件:' . $ttf . '不存在!' );
}
$this ->imgyesno();
} else {
exit ( '图片文件:' . $img . '不存在' );
}
}
private function imgyesno(){
$this ->img_info = getimagesize ( $this ->image);
$this ->img_width = $this ->img_info[0]; //图片宽
$this ->img_height= $this ->img_info[1]; //图片高
//检测图片类型
switch ( $this ->img_info[2]){
case 1: $this ->img_im = imagecreatefromgif( $this ->image); break ;
case 2: $this ->img_im = imagecreatefromjpeg( $this ->image); break ;
case 3: $this ->img_im = imagecreatefrompng( $this ->image); break ;
default : exit ( '图片格式不支持水印' );
}
$this ->img_text();
}
private function img_text(){
imagealphablending( $this ->img_im,true);
//设定颜色
$color =imagecolorallocate( $this ->img_im,rand(0,255),rand(0,255),rand(0,255));
$txt_height = $this ->img_text_size;
$txt_jiaodu = $this ->img_jd;
$ttf_im =imagettfbbox( $txt_height , $txt_jiaodu , $this ->img_ttf, $this ->img_text);
$w = $ttf_im [2] - $ttf_im [6];
$h = $ttf_im [3] - $ttf_im [7];
//$w = $ttf_im[7];
//$h = $ttf_im[8];
unset( $ttf_im );
$txt_y = $this ->img_height- $h ;
$txt_x = $this ->img_width- $w ;
//$txt_y =0;
//$txt_x =0;
$this ->img_new=@imagettftext( $this ->img_im, $txt_height , $txt_jiaodu , $txt_x , $txt_y , $color , $this ->img_ttf, $this ->img_text);
@unlink( $this ->image); //删除图片
switch ( $this ->img_info[2]) { //取得背景图片的格式
case 1:imagegif( $this ->img_im, $this ->image); break ;
case 2:imagejpeg( $this ->img_im, $this ->image); break ;
case 3:imagepng( $this ->img_im, $this ->image); break ;
default : exit ( '水印图片失败' );
}
}
//显示图片
function img_show(){ echo '<img src="' . $this ->image. '" border="0" alt="' . $this ->img_text. '" />' ;}
//释放内存
private function img_nothing(){
unset( $this ->img_info);
imagedestroy( $this ->img_im);
}
}
?>
分享到:
评论

相关推荐

    给现有的图片加文字水印php代码类

    给现有的图片加文字水印php代码类,该类库暂时只支持文字水印,位置为右下角,颜色随机。 调用方法: 1、在需要加水印的文件顶部引入类库: include_once 'imageClass.php'; 2、声明新类: $tpl=new image_fu;...

    给现有的图片加文字水印php代码类.zip

    给现有的图片加文字水印php代码类,该类库暂时只支持文字水印,位置为右下角,颜色随机。 调用方法:  1、在需要加水印的文件顶部引入类库:  include_once 'imageClass.php'; ...

    PHP实现给图片加文字水印1

    总结来说,实现PHP给图片加文字水印的关键在于理解PHP的图形处理函数,以及如何正确地处理文件、输出图像和管理HTTP响应。通过这种方式,我们可以创建出具有自定义水印效果的动态图片服务,广泛应用于版权保护、品牌...

    php实现打图片和文字水印

    在PHP中实现图片和文字水印是一项常见的任务,特别是在网站开发中,为了保护版权或增加品牌标识,我们经常需要在上传的图片上添加水印。本文将详细介绍如何使用PHP实现这一功能。 首先,我们需要理解水印的基本概念...

    php的imagick给动态图片添加文字水印

    在PHP开发中,有时我们需要对图像进行处理,例如为动态图片添加文字水印。这可以用于版权保护、品牌推广或个性化定制。`Imagick`是PHP的一个扩展库,它提供了强大的图像处理功能,包括对GIF等动态图片的操作。在本篇...

    php上传图片添加文字或者图片水印

    在PHP中,添加图片或文字水印是一项常见的需求,尤其在网站中用于版权保护或品牌宣传。本实例将深入探讨如何使用PHP实现这一功能,并配置水印的位置。 首先,我们需要理解基本的图像处理概念。PHP提供了GD库,这是...

    PHP 图片添加水印(文字和图片)

    使用GD库添加文字水印,可以使用`imagestring()`或`imagettftext()`函数。例如: ```php $image = imagecreatefromjpeg('原始图片路径'); $text = '水印文字'; $font = '字体路径.ttf'; // 字体文件路径 $...

    PHP简单遍历文件批量加文字水印,图片水印

    本文将详细介绍如何使用PHP实现文字水印和图片水印的批量处理。首先,我们需要理解两个核心概念:遍历文件和添加水印。 遍历文件通常采用递归方式,通过PHP的DirectoryIterator或RecursiveDirectoryIterator类来...

    给图片加水印 一段代码就可以实现

    下面是一个基本的Python代码示例,展示了如何使用Pillow库添加文字水印: ```python from PIL import Image, ImageDraw, ImageFont def add_text_watermark(img_path, output_path, text, font_path='arial.ttf', ...

    php文字水印和php图片水印实现代码(二种加水印方法)

    文字水印是在图片上添加文本,通常用于显示日期、版权信息或者短语等。GD库中的`imagefttext`函数是实现这一功能的关键。首先,你需要一个支持TrueType字体的字体文件。以下是一个简单的文字水印实现: ```php $dst...

    ASP代码实现图片自动水印(源码)

    在提供的"有水印代码"文件中,我们可以看到具体的ASP代码实现,包括上述步骤的细节。例如,代码可能会包含设置水印文本、调整字体样式、定位水印位置、设置透明度以及保存新图片的函数调用。这些代码通常会封装在一...

    php多张加水印图片上传代码

    // 使用GD库添加水印代码 } ``` 5. **安全注意事项**: - 防止文件覆盖,使用唯一文件名或时间戳。 - 检查文件类型和大小以防止恶意文件上传。 - 对上传的文件进行权限设置,限制可执行权限。 - 使用安全的...

    PHP添加文字水印或图片水印的水印类完整源代码与使用示例

    PHP实现的给图片添加水印功能,可添加文字水印或图片水印,使用文字水印时需要提供字体文件,使用图片水印时需要提供水印图片,水印图片不能比要添加水印的图片大,请使用背景透明的水印图片。 该水印类支持自定义...

    php图片加中文水印实现代码分享

    5. 图片水印函数:文件中提供了一个名为img_text()的函数示例,该函数用于实现图片中添加文字水印的功能。它包括打开图片、分配颜色、设置文字、坐标和角度等参数,并最终将文字水印添加到图片上。 6. 图片格式支持...

    PHP 在一张图片上添加文字

    在PHP中,添加文字到图片是一项常见的图像处理任务,尤其在动态生成验证码、自定义水印或者设计个性化图片时非常实用。本教程将详细介绍如何在PHP中实现这一功能,主要涉及的知识点包括GD库的使用、TTF字体的集成...

    给图片加水印 批量给图片加水印

    以下是一个简单的示例,展示了如何用Python和PIL批量添加文字水印: ```python from PIL import Image, ImageDraw, ImageFont def add_watermark(input_path, output_path, watermark_text): img = Image.open...

Global site tag (gtag.js) - Google Analytics