/** * @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() );