其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
PHP图片处理中的汉字处理问题

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站


function.php
<?php
    
function u2utf8($c) {
        for(
$i = 0; $i < count($c); $i++)
        
$str = "";
        if (
$c < 0x80) {
            
$str .= $c;
        }
        else if (
$c < 0x800) {
            
$str .= (0xC0 | $c >> 6);
            
$str .= (0x80 | $c & 0x3F);
        }
        else if (
$c < 0x10000) {
            
$str .= (0xE0 | $c >> 12);
            
$str .= (0x80 | $c >> 6 & 0x3F);
            
$str .= (0x80 | $c & 0x3F);
        }
        else if (
$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) /* Program writen by sadly   modified by agun */
    
{
        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) {
                
$this = substr($gb, 0, 2);
                
$gb = substr($gb, 2, strlen($gb));
                
$utf8 = u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
                for(
$i = 0; $i < strlen($utf8); $i += 3)
                
$ret .= chr(substr($utf8, $i, 3));
            } else {
                
$ret .= substr($gb, 0, 1);
                
$gb = substr($gb, 1, strlen($gb));
            }
        }
        return
$ret;
    }
?>

test.php
<?php
    
include("function.php");
    
$myfont = "湘潭大学374号信箱";
    
$my = gb2utf8($myfont);
    
Header("Content-type: image/png");
    
$im = ImageCreate(270, 50);
    
$black = ImageColorAllocate($im, 0, 0, 0);
    
$white = ImageColorAllocate($im, 184, 44, 6);
    
ImageTTFText($im, 20, 0, 4, 30, $white, "hy07.TTF", $my);
    
ImagePNG($im);
    
ImageDestroy($im);
?>

test1.php
<?php
    
include("function.php");
    
$imgname = "01.jpg";
    
$string = "http://blog.csdn.net/hfly2005";
    
$string1 = gb2utf8("湘潭大学学生活动中心");
    
Header("Content-type: image/jpeg");
    
$im = @ImageCreateFromJPEG ($imgname);
    
$black = ImageColorAllocate($im, 0, 0, 0);
    
$blue = ImageColorAllocate($im, 0, 0, 255);
    
$white = ImageColorAllocate($im, 255, 255, 255);
    
$yellow = ImageColorAllocate($im, 255, 255, 0);
    
ImageTTFText($im, 20, 0, 4, 30, $blue, "flx_girl.ttf", $string);
    
ImageTTFText($im, 20, 0, 500, 450, $white, "hy07.TTF", $string1);
    
ImageJPEG($im);
    
ImageDestroy($im);
?>



相关文章

相关软件