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

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
求一个php生成图片的代码?
悬赏分:20 - 2007年08月22日

原代码如下:
但是不是我想像中的效果。

效果:
1.背景要透明
2。文字要叠加,形成阴影效果,就是底下的文字在最上面的文字下向下及向右便移1个像素。
3.能自动存储到指定目录



[php]
<?php
header("Content-type: image/gif");
$pic="img/a-4.png";
if (empty($txt)){
$txt="输入文字";
}
$str = gb2utf8($txt);
$pich=ImageCreateFromPNG($pic);
$color=ImageColorAllocate($pich,250,250,250);
imagecolortransparent($pich,$color); // 设置为透明色,若注释掉该行则输出绿色的图
imagealphablending($pich, FALSE);//取消默认的混色模式
imagesavealpha($pich,TRUE);//设定保存完整的 alpha 通道信息

ImageTTFText($pich,9,0,3,12,$color,"mingliu.ttc",$str);
$sa=ImagePNG($pich);
ImageDestroy($pich);


setDstImg($sa,"./tmp/aa.png");


function u2utf8($c)
{
for($i=0;$i $str="";
if ($c < 0x80)
$str.=$c;
elseif ($c < 0x800)
{
$str.=(0xC0 | $c>>6);
$str.=(0x80 | $c & 0x3F);
}
elseif ($c < 0x10000)
{
$str.=(0xE0 | $c>>12);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
elseif ($c < 0x200000)
{
$str.=(0xF0 | $c>>18);
$str.=(0x80 | $c>>12 & 0x3F);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
return $str;
}

function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);

$ret="";
$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$thi=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8=u2utf8(hexdec($codetable[hexdec(bin2hex($thi))-0x8080]));
for($i=0;$i $ret.=chr(substr($utf8,$i,3));
}
else
{
$ret.=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb));
}
}
return $ret;
}
?>

[/php]

请高高手帮帮忙!
谢谢

[ 本帖最后由 copier 于 2007-5-14 12:08 PM 编辑 ]



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

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

 
[]
©2007 PhpRes.COM