/*
*
* @author injection(injection.mail@gmail.com)
* @package ImageContext.class.php
* @var object mImages 图片相关的数据
* @descript 支持中文文字,但必须保证你的php环境支持iconv函数
*/
class drawImg{
var $mImages ;
/* *
* 设定本页面类型为图片类型
*/
function __construct(){
header ( " content-type:image/gif " );
}
/* *
* 设置图片源
*
* @param string $filename
* @example 'c://mypic/mypic.gif' or 'mypic.gif'
*/
function setImage( $filename ){
$this -> mImages -> filename = imagecreatefromgif( $filename );
}
/* *
* 设置写入文字的字体
*
* @param string $font
* @example simhei.ttf
*/
function setFont( $font ){
$this -> mImages -> font = $font ;
}
/* *
* 设置写入的文字
*
* @param string $context
* @example test
*/
function setContext( $context ){
$this -> mImages -> context = $context ;
}
/* *
* 设置文字编码
*
* @param string $from_charset
* @param string $to_charset
*/
function setCharset( $from_charset , $to_charset ){
$this -> mImages -> context = iconv ( $from_charset , $to_charset , $this -> mImages -> context );
}
/* *
* 设置写入黑白的具体数值
*
* @param string $white
* @example 255,255,255
* @param string $black
* @example 0,0,0
*/
function setColor( $white , $black ){
$this -> mImages -> white = imagecolorallocate( $this -> mImages -> filename , $white );
$this -> mImages -> black = imagecolorallocate( $this -> mImages -> filename , $black );
}
/* *
* 根据参数类型获取mImages对象属性或对象的信息
*
* @param enum 参数列表:filename,font,context,all
* @return 一个mImages的一个属性或mImages这个对象
*/
function getImageInfo( $type = " all " ){
if ( $type != " all " )
return $this -> mImages -> $type ;
else
return $this -> mImages;
}
/* *
* 将文字写入图片
*
* @param int $size 字体大小
* @param int $angle 起始角度
* @param int $x 第一个字符的基本点(大概是字符的左下角)
* @param int $y Y坐标。它设定了字体基线的位置,不是字符的最底端
* @param enum $ 值为white或black
*/
function draw( $size , $angle , $x , $y , $color ){
imagettftext( $this -> mImages -> filename , $size , $angle , $x , $y , $this -> mImages -> $color , $this -> mImages -> font , $this -> mImages -> context );
imagegif( $this -> mImages -> filename );
}
/* *
* 释放图片源
*/
function unsetImage(){
imagedestroy( $this -> mImages -> filename );
}
/* *
* 释放本对象
*/
function __destruct(){
unset ( $this );
}
}
/* sample */
$image = new drawImg();
$image -> setImage( ' mypic.gif ' );
$image -> setFont( ' simhei.ttf ' );
$image -> setContext( ' 我顶你个肺! ' );
$image -> setCharset( ' gb2312 ' , ' UTF-8 ' );
@ $image -> setColor( ' 255,255,255 ' , ' 0,0,0, ' );
$image -> draw( 20 , 0 , 0 , 20 , ' black ' );
// var_dump( $image->getImageInfo() );
* @author injection(injection.mail@gmail.com)
* @package ImageContext.class.php
* @var object mImages 图片相关的数据
* @descript 支持中文文字,但必须保证你的php环境支持iconv函数
*/
class drawImg{
var $mImages ;
/* *
* 设定本页面类型为图片类型
*/
function __construct(){
header ( " content-type:image/gif " );
}
/* *
* 设置图片源
*
* @param string $filename
* @example 'c://mypic/mypic.gif' or 'mypic.gif'
*/
function setImage( $filename ){
$this -> mImages -> filename = imagecreatefromgif( $filename );
}
/* *
* 设置写入文字的字体
*
* @param string $font
* @example simhei.ttf
*/
function setFont( $font ){
$this -> mImages -> font = $font ;
}
/* *
* 设置写入的文字
*
* @param string $context
* @example test
*/
function setContext( $context ){
$this -> mImages -> context = $context ;
}
/* *
* 设置文字编码
*
* @param string $from_charset
* @param string $to_charset
*/
function setCharset( $from_charset , $to_charset ){
$this -> mImages -> context = iconv ( $from_charset , $to_charset , $this -> mImages -> context );
}
/* *
* 设置写入黑白的具体数值
*
* @param string $white
* @example 255,255,255
* @param string $black
* @example 0,0,0
*/
function setColor( $white , $black ){
$this -> mImages -> white = imagecolorallocate( $this -> mImages -> filename , $white );
$this -> mImages -> black = imagecolorallocate( $this -> mImages -> filename , $black );
}
/* *
* 根据参数类型获取mImages对象属性或对象的信息
*
* @param enum 参数列表:filename,font,context,all
* @return 一个mImages的一个属性或mImages这个对象
*/
function getImageInfo( $type = " all " ){
if ( $type != " all " )
return $this -> mImages -> $type ;
else
return $this -> mImages;
}
/* *
* 将文字写入图片
*
* @param int $size 字体大小
* @param int $angle 起始角度
* @param int $x 第一个字符的基本点(大概是字符的左下角)
* @param int $y Y坐标。它设定了字体基线的位置,不是字符的最底端
* @param enum $ 值为white或black
*/
function draw( $size , $angle , $x , $y , $color ){
imagettftext( $this -> mImages -> filename , $size , $angle , $x , $y , $this -> mImages -> $color , $this -> mImages -> font , $this -> mImages -> context );
imagegif( $this -> mImages -> filename );
}
/* *
* 释放图片源
*/
function unsetImage(){
imagedestroy( $this -> mImages -> filename );
}
/* *
* 释放本对象
*/
function __destruct(){
unset ( $this );
}
}
/* sample */
$image = new drawImg();
$image -> setImage( ' mypic.gif ' );
$image -> setFont( ' simhei.ttf ' );
$image -> setContext( ' 我顶你个肺! ' );
$image -> setCharset( ' gb2312 ' , ' UTF-8 ' );
@ $image -> setColor( ' 255,255,255 ' , ' 0,0,0, ' );
$image -> draw( 20 , 0 , 0 , 20 , ' black ' );
// var_dump( $image->getImageInfo() );