zoukankan      html  css  js  c++  java
  • 贴段PHP画图的程序,给希望用PHP作图的朋友一点启发,帮助!

    简介:这是贴段PHP画图的程序,给希望用PHP作图的朋友一点启发,帮助!的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=322024' scrolling='no'> 主要包括三个文件:
    1、view.php是调用程序。
    2、chart.php是用来生成图表的程序。
    3、gbtoutf8.php是用来中文解码的(注:已解决中英文混合不能正常显示的问题)

    1、view.php
    <?
    include("gbtoutf8.php");
    ?>
    <html>
    <head>
    <title>  </title>
    <meta name="Author" content="XIANG Li">
    </head>
    <?
    /*此处数据可从数据库中取得*/
    $aStr = "IT,PC,Phone,Sever,Passport,Software";
    $aSoft = "Win2000,Win98,Office,Foxmail,Outlook";
    $aHard = gb2utf8("地板,窗户,玻璃,桌子,灯管,植被");
    $title1 = gb2utf8('2002年IT维护report');
    $title2 = gb2utf8('2002年软件维护report');
    $title3 = gb2utf8('2002年固定资产report');
    ?>
    <body>
    <div align="center">
    <table>
    <tr>
        <td><input type="image" src="./chart.php?aStr=<?=$aStr?>&title=<?=$title1?>"></td>
    </tr>
    <tr><td> </td></tr>
    <tr>
        <td><input type="image" src="./chart.php?aStr=<?=$aSoft?>&title=<?=$title2?>"></td>
    </tr>
    <tr><td> </td></tr>
    <tr>
        <td><input type="image" src="./chart.php?aStr=<?=$aHard?>&title=<?=$title3?>"></td>
    </tr>
    </table></div>
    </body>
    </html>

    2、chart.php
    <?php
    /*
    *  功能:生成统计图表
    *  程序员:wlxz
    * 日期:2002-00-00
    */

    Header("Content-type: image/png");
      $im = ImageCreate (350, 280);
      $col_oth = ImageColorAllocate($im, 0,0,0);
      $col_orn = ImageColorAllocate($im, 255,192,0);
      $col_yel = ImageColorAllocate($im, 255,255,0);
      $col_red = ImageColorAllocate($im, 255,0,0);
      $col_grn = ImageColorAllocate($im, 0,255,0);
      $col_blu = ImageColorAllocate($im, 0,0,255);
      $col_wit = ImageColorAllocate($im, 255,255,255);
      $col_array = array($col_oth, $col_orn, $col_yel, $col_red, $col_grn, $col_blu);

    $dot1 = 28;
    $dot2 = 20;
    $font="c:/winnt/fonts/simhei.ttf";
    $aStr = explode(",", trim($_GET['aStr']));
    $title = trim($_GET['title']);

    ImageTTFText($im,18,0,100,50,$col_wit,$font,$title);//写标题

      for($i=1;$i<count($col_array);$i++){
      ImageFilledRectangle($im,50*$i-$dot2,$dot1*$i,50*$i,200,$col_array[$i]);
      ImageRectangle($im,50*$i-$dot2,$dot1*$i,50*$i,200,$col_wit);
      ImageRectangle($im,50*$i-$dot2-1,$dot1*$i-1,50*$i+1,200,$col_wit);
      ImageTTFText($im,14,270,50*$i-15,205,$col_wit,$font,$aStr[$i-1]);
      
    // ImageLine($im,50*$i-$dot2,$dot1*$i,50*$i-$dot2,200,$col_wit);
      ImageLine($im,50*$i-$dot2,$dot1*$i,50*$i,$dot1*$i,$col_wit);
      }
      ImageRectangle($im,10,10,300,200,$col_wit);
      ImageRectangle($im,11,11,301,201,$col_wit);

    //右边百分比
      for($i=1;$i<count($col_array);$i++){
        ImageLine($im,300,$i*33,306,$i*33,$col_wit);
        $str = (100-$i*5)."%";
        ImageTTFText($im,14,0,315,$i*33+2,$col_wit,$font,$str);
      }

      ImagePNG($im);
      ImageDestroy($im);
    ?>

    3.gbtoutf8.php
    <?
    /*
    *  功能:把GB2312编码转换成UTF-8的编码
    *  程序员:wlxz
    * 日期:2002-00-00
    */

    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)
                {
                $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;
    }

    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 gb2unicode($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,9,4);
        $utf="";
        while($gb){
            if (ord(substr($gb,0,1))>127){
                $this=substr($gb,0,2);
                $gb=substr($gb,2,strlen($gb));
                $utf.="&#x".$codetable[hexdec(bin2hex($this))-0x8080].";";
                }
                else{
                    $gb=substr($gb,1,strlen($gb));
                    $utf.=substr($gb,0,1);
                    }
        }
        return $utf;
    }
    ?>

    “贴段PHP画图的程序,给希望用PHP作图的朋友一点启发,帮助!”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/322024.html pageNo:17
  • 相关阅读:
    搜索回车跳转页面
    登录验证码
    【排序算法】排序算法之插入排序
    PAT 乙级 1044 火星数字 (20 分)
    PAT 甲级 1035 Password (20 分)
    PAT 甲级 1041 Be Unique (20 分)
    PAT 甲级 1054 The Dominant Color (20 分)
    PAT 甲级 1027 Colors in Mars (20 分)
    PAT 甲级 1083 List Grades (25 分)
    PAT 甲级 1005 Spell It Right (20 分)
  • 原文地址:https://www.cnblogs.com/ooooo/p/2256988.html
Copyright © 2011-2022 走看看