纳金网

标题: Unity里不使用字库,显示任意中文字体(二) [打印本页]

作者: 会飞的鱼    时间: 2011-12-16 17:33
标题: Unity里不使用字库,显示任意中文字体(二)
test.php 的代码
<?php   

header('Content-type: image/png;');
$name= request("n", "default");

$font = "STLITI.TTF";//注意这里,这里我把 C:WINDOWSFonts 下的 STLITI.TTF 拷到 test.php 同目录下,可以使用 C:WINDOWSFonts 下任意 *.TTF 或者 *.TTC 的字体

$name=translateCharset($name, "gb2312");

$im = imagecreate(1, 1);

$black = imagecolorallocate($im, 243, 169, 91);

$fcolor = imagecolorallocate($im, 243, 169, 90);

$para = imagettftext($im, 100, 0, 0, 112, $fcolor, $font, $name);
$im = imagecreate($para[2], $para[1]);

$black = imagecolorallocate($im, 243, 169, 91);

$fcolor = imagecolorallocate($im, 243, 169, 90);

imagettftext($im, 100, 0, 0, 112, $fcolor, $font, $name);

imagecolortransparent($im, $black);
imagepng($im);

imagedestroy($im);
function translateCharset($string, $fromCharset, $toCharset='UTF-8') {

        if(function_exists('mb_convert_encoding')) {

            return mb_convert_encoding($string, $toCharset, $fromCharset);

        } elseif(function_exists('iconv')) { // iconv is flakey

            return iconv($fromCharset, $toCharset, $string);

        } else {

            return $string;

        } // end else clause

    }

function request($var_name, $default = null)

{

     global $_POST, $_GET;
     if ( isset( $_POST[$var_name] ) ) {

         $result = add_slashes( $_POST[$var_name] );

     }

  else if ( isset( $_GET[$var_name] ) ) {

         $result = add_slashes( $_GET[$var_name] );

     }

  else if ( func_num_args() > 1 ) { #check for a default passed in (allowing null)

         $result = add_slashes($default);

     }

     else {

         $result = null;

     }

     if($result == '' || $result == null){

      $result = $default;

     }

     return $result;

}

function add_slashes( $var )

{

     if ( 1 == get_magic_quotes_gpc() ) {

         return $var;

     }

  else if ( !is_array( $var ) ){

         return addslashes( $var );

     }

  else {

         foreach ( $var as $key => $value ) {

             $var[$key] = add_slashes( $value );

         }

         return $var;

     }

}

?>
我这个生成png 的图片用的是 php 的 gd2 的库,因为服务器可能放到Linux上,服务器是 windows 的同学可以用 windows 的 GDI+ 去画 png 图片。
最后说说 php 中的参数问题 在 http://127.0.0.1/test.php?n=%C4%E3%BA%C3 中,n= 后面的是要显示的字符,%C4%E3%BA%C3 是“你好”的UTF8编码。


如何得到中文的UTF8编码? 有2个方法

(1)可以使用javascript 的 encodeURIComponent

(2)打开 firefox,在地址栏输入 http://127.0.0.1/test.php?n= 任意中文字符,敲回车,得到真实 地址。
本教程转自网互联网,未经检测,不知是否有效,用过的朋友请留言。牵涉到一些php知识点。


作者: 奇    时间: 2012-3-11 23:23
水。。。

作者: C.R.CAN    时间: 2012-3-26 23:20
长了不少见识

作者: 晃晃    时间: 2012-4-3 13:13
心中有爱,爱咋咋地

作者: tc    时间: 2012-6-16 23:27
已阵亡的 蝶 随 风 舞 说过  偶尔按一下 CTRL A 会发现 世界还有另一面

作者: C.R.CAN    时间: 2012-7-9 23:26
已阵亡的 蝶 随 风 舞 说过  偶尔按一下 CTRL A 会发现 世界还有另一面

作者: 晃晃    时间: 2012-8-12 00:06
已阵亡的 蝶 随 风 舞 说过  偶尔按一下 CTRL A 会发现 世界还有另一面

作者: C.R.CAN    时间: 2012-9-30 23:18
先垫一块,再说鸟

作者: C.R.CAN    时间: 2013-2-7 00:50
响应天帅号召,顶

作者: 奇    时间: 2013-3-18 23:26
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题





欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5