苏飞论坛

标题: PHP中的图像处理示例(2) [打印本页]

作者: 惜    时间: 2018-12-18 10:28
标题: PHP中的图像处理示例(2)
GD 库函数配合数学函数可以画出功能强大的数学图形,可以
把数字内容变为直观的图像。这样可以增加程序的亲和力,使原本枯燥的数字更容易使用户接受,从
而增加程序的易用性。


[PHP] 纯文本查看 复制代码
<?php
        //首先定义一个数组,其内容可以表示为一个工厂全年生产效益
        $num[0]=50;
        $num[1]=100;
        $num[2]=125;
        $num[3]=130;
        $num[4]=160;
        $num[5]=200;
        $num[6]=240;
        $num[7]=270;
        $num[8]=290;
        $num[9]=310;
        $num[10]=400;
        $num[11]=370;
       
        Header("Content-type: image/png"); //输出头文件
        $im=imagecreate(500,450);
        $black=imagecolorallocate($im, 0,0,0);  //定义黑色

        $white=imagecolorallocate($im, 255,255,255); //定义白色
        $yellow=imagecolorallocate($im,255,255,0);  //定义黄色
        $blue =imagecolorallocate($im,0,0,255); //定义蓝色
        $red=imagecolorallocate($im,255,0,0);  //定义红色
        imageline($im,5,5,5,435,$white);  //画出纵坐标
        imageline($im,5,435,400,435,$white);  //画出横坐标
        for($i=0;$i<count($num);$i++) //循环画出直方图
        {
                imagefilledrectangle($im,($i+1)*30,440-$num[$i]-5,($i+1)*30+20,435,$yellow);
        }
        for($i=0;$i<count($num);$i++) //循环画出数值
        {
                imagestring($im,4,($i+1)*30,440-$num[$i]-5,"$num[$i]",$blue);
        }
        for($i=1;$i<13;$i++) //循环画出横坐标单位
        {
                imagestring($im,4,$i*30,430,"$i",$red);
        }
        for($i=0;$i<5;$i++)  //循环画出纵坐标单位
        {
                $s=$i*100;
                imagestring($im,4,5,435-$s,"$s",$white);
        }
        Imagepng($im);  //创建图像
        Imagedestroy($im); //关闭图像
?>


如下图像:
(, 下载次数: 83)