![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
[PHP]
<?
/*#++++++++++++++++++++++++++++++++++++++++++++
程序作者:http://zh5j.com (纯粹误会)
本页功能:写文字到图片中
#+++++++++++++++++++++++++++++++++++++++++++++*/
$string="www.zh5j.com";#文字
$source="music.gif";#原始图片
$destination="121 2005.jpg";#生成图片
$fontUrl="image/swissk.ttf";#字库文件地址。
#从C:/windows/fonts目录中拖拽一个字库文件到当前(image)目录中(可以使用资源管理器)
#+++++++++++++++++++++++++++++++++++++++++++++
#函数调用
Str2Pic($string,$source,$destination,$fontUrl,8,"#FFFFFF","#808080",10,10);
#Str2Pic("www.zh5j.com","music.gif","music.jpg","image/swissk.ttf",10,"FFFFFF","330099",10,10);
#+++++++++++++++++++++++++++++++++++++++++++++
function Str2Pic($string,$source,$destination="",$fontUrl="font.ttf",$fontSize=10,$shadowColor="#FFFFFF",$fontColor="#808080",$x=10,$y=10){
/*+++++++++++++++++++将一行字串写入图片中
支持三种图片扩展名:jpeg、jpg、gif、png
参数说明
$string :写入的文字。如果字库不支持中文,请勿使用中文
$source :读取的原始图片地址。不支持远程图片
$destination :生成的目标图片地址。为空不生成。可以与原始图片地址相同
$fontUrl :字库文件地址。从C:/windows/fonts目录中拖拽一个字库文件到当前目录中
$fontSize :文字字体大小
$shadowColor :文字阴影颜色。16进制
$fontColor :文字字体颜色。16进制
$x :文字x坐标位置(左起位置)
$y :文字y坐标位置(上起位置)
++++++++++++++++++++++++++++++*/
header('Content-type: image/png');
$pi=pathinfo($source);
$pie=$pi[extension];#获取扩展名
if(eregi("jpg|jpeg",$pie))$im=@imagecreatefromjpeg($source);
if(eregi("gif",$pie))$im=@imagecreatefromgif($source);
if(eregi("png",$pie))$im=@imagecreatefrompng($source);
$col1=hex2dec($shadowColor);#阴影颜色
$col2=hex2dec($fontColor);#字体颜色
$col1=imagecolorallocate($im,$col1[0],$col1[1],$col1[2]);
$col2=imagecolorallocate($im,$col2[0],$col2[1],$col2[2]);
imagettftext($im,$fontSize,0,$y+1,$x+1,$col1,$fontUrl,$string);
imagettftext($im,$fontSize,0,$y,$x,$col2,$fontUrl,$string);
imagejpeg($im);
if($destination)imagejpeg($im,$destination);
imagedestroy($im);
}
function hex2dec($HexColror){#十六进制颜色转换成10进制颜色
preg_match_all("/([0-f]){2,2}/i",$HexColror,$matches);
if(count($matches[0])==3){
$rr=hexdec($matches[0][0]);
$gg=hexdec($matches[0][1]);
$bb=hexdec($matches[0][2]);
}
return array($rr,$gg,$bb);
}
?>
[/php]

