![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
主程序
[PHP]
<?
#write2image.php
#+++++++++++++++++++++++++++++++++++++++++++++
function Str2Pic($string,$source,$destination="",$fontUrl="font.ttf",$fontSize=10,$shadowColor="#FFFFFF",$fontColor="#808080",$x=10,$y=10){
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
名称: Str2Pic($string,$source,$destination,$fontUrl,$fontSize,$shadowColor,$fontColor,$x,$y)
作者: 朱武杰(纯粹误会) www.zh5j.com QQ:44922032
版权; 原创程序(请保留以上作者注释信息,否则请删除所有文件)
时间: 2005-4-22晨灵感突现,修正不久前写的Str2Pic()函数,完成HTML测试程序
功能: 写文字到图片中,在图片上点到哪写到哪
参数: +++++++++++++++++
$string :写入的文字。如果字库不支持中文,请勿使用中文
$source :读取的原始图片地址。不支持远程图片
$destination :生成的目标图片地址。为空不生成。可以与原始图片地址相同,即覆盖原图
$fontUrl :字库文件地址。从C:/windows/fonts目录中拖拽一个字库文件到当前目录中
$fontSize :文字字体大小
$shadowColor :文字阴影颜色。16进制
$fontColor :文字字体颜色。16进制
$x :文字x坐标位置(左起位置)
$y :文字y坐标位置(上起位置)
+++++++++++++++++++++++
返回: 无
使用: Str2Pic("www.zh5j.com","images/source.jpg","images/temp.jpg","fonts/font.ttf",10,"#FFFFFF","#808080",10,15)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
//print_r(@getimagesize($source));die;
if(!is_file($source))die("Error.原始图片($source)不存在");
if(!is_dir(dirname($destination)))die("Error.目标图片的目录(".dirname($destination).")不存在");
if(!is_file($fontUrl))die("Error.字体文件不存在");
ob_Start();
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,$x+1,$y+1,$col1,$fontUrl,$string);
imagettftext($im,$fontSize,0,$x,$y,$col2,$fontUrl,$string);
imagejpeg($im);
if($destination)imagejpeg($im,$destination);
imagedestroy($im);
ob_end_Flush();
}
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]
测试程序
[PHP]
<?
/*===========================
系统名称:写文字到图片中,在图片上点到哪写到哪
程序作者:朱武杰(纯粹误会) www.zh5j.com QQ:44922032
本页功能:测试程序
===========================*/
extract($_REQUEST);
$title="写文字到图片中,在图片上点到哪写到哪";
############################################如下为测试程序
if($_GET){
include"write2image.php";
if(is_file($_GET[fontUrl])&&is_File($_GET[source])){
#+++++++++++++++++++++++++++++++++++++++++++++
if($submit){
$Url=preg_replace(array("!((&]|^)submit=([^&]+))|(submit=)!","!(^&)|[&]{2,}|([&]$)!"),array('',''),$_SERVER[QUERY_STRING]);
echo<<

