麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
一个将文字写入图片的程序,值得一顶,前些天那位发贴求的朋友,你还在吗?
悬赏分:20 - 2007年08月16日

[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]

提问者:纯粹误会   08-16 17:05
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
96 + 64 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM