仓酷云

标题: PHP网页编程之贴段PHP绘图的法式,给但愿用PHP作图的... [打印本页]

作者: 柔情似水    时间: 2015-2-4 00:24
标题: PHP网页编程之贴段PHP绘图的法式,给但愿用PHP作图的...
告诉你了一个方式,但是缺少努力这一环节,那也是白搭。法式   次要包含三个文件:
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;
}
?>  可以在书上很方便地做标记,及时记下自己的心得体会。
作者: 山那边是海    时间: 2015-2-7 03:42
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 小女巫    时间: 2015-2-20 06:05
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 活着的死人    时间: 2015-3-4 02:12
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 金色的骷髅    时间: 2015-3-11 04:46
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 兰色精灵    时间: 2015-3-16 19:24
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 小魔女    时间: 2015-3-22 00:07
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 只想知道    时间: 2015-4-19 09:00
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 飘灵儿    时间: 2015-4-23 11:45
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 愤怒的大鸟    时间: 2015-6-16 04:18
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 蒙在股里    时间: 2015-6-19 22:03
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 再见西城    时间: 2015-7-9 16:52
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 因胸联盟    时间: 2015-7-13 07:09
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 变相怪杰    时间: 2015-7-15 05:43
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 老尸    时间: 2015-7-25 23:13
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 不帅    时间: 2015-7-29 01:57
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 深爱那片海    时间: 2015-9-24 08:16
爱上php,他也会爱上你。
作者: 透明    时间: 2015-10-2 00:02
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 简单生活    时间: 2015-10-4 03:13
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2