一个超级强大的图片加水印的类
下午没事干,就写了个图片加水印处理的类,本类实现了给图片加文字水印,加图片水印,并且实现了透明度的功能,以供各位网友学习和交流
<?php
/**
* 加水印类,支持文字、图片水印以及对透明度的设置、水印图片背景透明。
* @author litx date:2011-12-05下午3点于迈科龙快播研发中心
*/
class WaterMask
{
/**
* 水印类型
* @var int $waterType 0为文字水印 ;1为图片水印
*/
private $waterType = 1;
/**
* 水印位置 类型
* @var int $pos 默认为9(右下角)
*/
private $pos = 9;
/**
* 水印透明度
* @var int $transparent 水印透明度(值越小越透明)
*/
private $transparent = 20;
/**
* 如果是文字水印,则需要加的水印文字
* @var string $waterStr 默认值 (李铁雄个人作品集)
*/
private $waterStr = '个人作品集';
/**
* 文字字体大小
* @var int $fontSize 字体大小
*/
private $fontSize = 14;
/**
* 水印文字颜色(RGB)
* @var array $fontColor 水印文字颜色(RGB)
*/
private $fontColor = array ( 255, 255, 255 );
/**
* 字体文件
* @var unknown_type
*/
private $fontFile = 'AHGBold.ttf';
/**
* 水印图片
* @var string $waterImg
*/
private $waterImg = 'logo.png';
/**
* 需要添加水印的图片
* @var string $srcImg
*/
private $srcImg = '';
/**
* 图片句柄
* @var string $im
*/
private $im = '';
/**
* 水印图片句柄
* @var string $water_im
*/
private $water_im = '';
/**
* 图片信息
* @var array $srcImg_info
*/
private $srcImg_info = '';
/**
* 水印图片信息
* @var array $waterImg_info
*/
private $waterImg_info = '';
/**
* 水印文字宽度
* @var int $str_w
*/
private $str_w = '';
/**
* 水印文字高度
* @var int $str_h
*/
private $str_h = '';
/**
* 水印X坐标
* @var int $x
*/
private $x = '';
/**
* 水印y坐标
* @var int $y
*/
private $y = '';
/**
* 构造函数,通过传入需要加水印的源图片初始化源图片
* @param string $img 需要加水印的源图片
*/
public function __construct ($img)
{
if(file_exists($img)){//源文件存在
$this -> srcImg = $img ;
}else{//源文件不存在
echo '源文件'.$img.'不存在,请检查看文件路径是否正确';
exit();
}
}
/**
* 获取需要添加水印的图片的信息,并载入图片
*/
public function imginfo ()
{
$this -> srcImg_info = getimagesize($this -> srcImg);
var_dump($this -> srcImg_info);exit();
switch ($this -> srcImg_info[2]) {
case 3 ://png
$this -> im = imagecreatefrompng($this -> srcImg);
break 1;
case 2 : // jpeg/jpg
$this -> im = imagecreatefromjpeg($this -> srcImg);
break 1;
case 1 : //gif
$this -> im = imagecreatefromgif($this -> srcImg);
补充:Web开发 , php ,