flex 与 php 在线生成文字图片的一个简单框架
因为最近做一个DIY的设计器,需要让用户选择某个字体,并且支持旋转,拖拉等操作。直接使用文本框是不行的,因为flex不支持字体的直接旋转,大家可以尝试一下,如果选择了text控件,文字就看不到了,有个办法是把文字embed嵌入到swf中去,这样就支持了。
但是英文还好,字体文件不大,中文的话动辄几个M,这个做法很不现实,于是想到另外一个解决方案,用服务器字体。
做了个php demo,接收文字,并根据指定的字体文件去生成图片:
<?php
$str = $_GET['str'];
$fontpath= $_GET['fontpath'];
if($str==null||$str==''){
return;
}else{
$str = iconv("GB2312", "UTF-8", $str);//为了支持中文
}
$Size = 72;
if($fontpath==null||$fontpath==''){//字体的路径
$fontpath='fzse_gbk.ttf';//可使用ttf字体
}
//动态计算文字占用图片大小
$txts = imagettfbbox($Size,0,$fontpath,$str);
$YX1 = abs($txts[5])*0.23;
$YX2 = abs($txts[2])*0.02;
$IX = abs($txts[2])+$YX2;
$IY = abs($txts[5])+$YX1;
$im = imagecreate($IX,$IY);
$white = imagecolorallocate($im,0xFF,0xFF,0xFF);
imagecolortransparent($im,$white);
$black = imagecolorallocate($im,0x00,0x00,0x00);
imagettftext($im, $Size, 0, 0, $IY-$YX1,$black,"$fontpath",$str);
header("Content-type:image/png");
imagepng($im);//输出到客户端
imagedestroy($im);
?>
这样的话swf配置一个xml就可以在服务器端动态的加入任何字体了
<ttfs>
<font name="方正少儿" snap="assets/myfonts/fontsnap/impact.jpg" path="fzse_gbk.ttf" lan="ch" />
<font name="方正少儿2" snap="assets/myfonts/fontsnap/impact.jpg" path="fzse_gbk.ttf" lan="ch" />
<font name="方正少儿3" snap="assets/myfonts/fontsnap/impact.jpg" path="fzse_gbk.ttf" lan="ch" />
<font name="英文字体1" snap="/createfont/snap/demo1.png" path="fzse_gbk.ttf" lan="en" />
<font name="英文字体2" snap="/createfont/snap/demo1.png" path="fzse_gbk.ttf" lan="en" />
<font name="英文字体3" snap="/createfont/snap/demo1.png" path="fzse_gbk.ttf" lan="en" />
</ttfs>
[img]http://www.idute.co
相关文档:
<?php
$start = ip2long('192.168.1.1');
$start = sprintf("%u", $start) ;
$end = ip2long('192.168.1.50');
$end = sprintf("%u", $end) ;
for ($start; $start<$end; $start++){
echo long2ip($start)."<br>";
}
?> ......
<?php
class Access//Access数据库操作类
{
var $databasepath,$constr,$dbusername,$dbpassword,$link;//类的属性
function Access($databasepath,$dbusername,$dbpassword)//构造函数
{
$this->databasepath=$databasepath;
$this->username=$d ......
原帖:http://hi.baidu.com/flex2/blog/item/3501c1622af2b1dde6113aef.html
现在不少人开始关注并学习Flex了(至少比以前多了),但是现在关于Flex的资料并不多,国内的资料就更少了,而且Flex的论坛人气都差的很,一眼望去全都是提问帖子,回帖超过5个的寥寥无几,惨不忍睹啊。我翻译一些东西也是为了增加中文学习资料, ......
http://www.521000.com/bbs/dispbbs.asp?BoardID=9&ID=1236357
PHP环境搭建
Apache的安装与配置
一、Apache的安装
1.从Apache的官方网站下载安装软件:http://httpd.apache.org/download.cgi,目前的最新版本是apache_2.2.11-win32-x86-no_ssl.msi。
2.打开我的电脑,进入D盘,在其下新建一个文件夹,名为 loca ......