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
  • 相关阅读:
    Android Intent Service
    Android-Window(一)——初识Window
    立FLAG-书单
    Typecho-Material主题不支持Kotlin代码高亮的解决方案
    【翻译】What is State Machine Diagram(什么是状态机图)?
    【翻译】 What is class diagram(什么是类图)?
    Android-Selector不起作用
    git 命令
    远程分支回退方法
    mac 显示隐藏文件
  • 原文地址:https://www.cnblogs.com/ooooo/p/2256988.html
Copyright © 2011-2022 走看看