Ø  报表
a)        什么是报表
报表就是用表格、图表等格式来动态显示数据。
b)        PHP绘图坐标系
1、  坐标系介绍
下图说明了PHP坐标系。坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位,看下图:

2、  坐标体系--像素
“像素”(Pixel)是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。
c)        PHP绘图技术
1、  PHP绘图的基本原理和步骤
创建画布
绘制需要的各种图像(Gd库提供绘图函数)
输出图像到网页,也可以另存为
销毁图片(释放内存)
  目前网站开发的创建图片格式GIF Jpg/JPEG Ping Bmp。。
总结:
GIF:图片压缩率高,但是只能显示256色,可能造成色彩丢失。可以显示动画图片。
Jpg/JPEG:图片压缩率高(有损压缩),可以用较小的文件来显示,王爷上用的比较多。
Ping:该格式综合了上面2种优势,缺点是不能显示动画。高保真(色彩丢失少。
2、   基本绘图函数介绍

<?php
//PHP绘图技术,
//phpinfo();
//创建画布,默认的背景是黑色的
$im=imagecreatetruecolor(400, 300); //绘制各种需要的图形(圆,直线,
$red=imagecolorallocate($im, 255, 0, 0); //圆
// imageellipse($im, 20, 20, 20, 20, $red); //直线
imageline($im, 0, 0, 400, 300, $red); //矩形
imagerectangle($im, 1, 1, 200, 100, $red); //填充矩形 // imagefilledrectangle($im, 2, 2, 40, 50, $red); //弧线
// imagearc($im, 100, 100, 50, 100, 0, 180, $red); //扇形
//imagefilledarc($im, 100, 100, 50, 100, 0, 180, $red, IMG_ARC_PIE); //拷贝图片到画布
//1,加载原图片
// $srcImage = imagecreatefromgif("1.GIF");
//获得图片信息
//$srcImageInfo=getimagesize("1.GIF");
//2,拷贝元图片到画布
// imagecopy($im, $srcImage, 0, 0, 0, 0, $srcImageInfo[0], $srcImageInfo[1]); //写字(不支持中文
imagestring($im, 5, 0, 0, "I LOVE YOU 1 2 3", $red);
//写中文需要用到下面的函数
// imagettftext($im, 20, 0, 100, 100, $red, "'arial.ttf","我爱你" ); //输出图像到网页,也可以另存 header("Content-type: image/gif");
imagegif($im); //销毁图片,释放内存
imagedestroy($im); ?>

PHP自学之路---报表及绘图技术的更多相关文章

  1. 【转】JAVA自学之路

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  2. 【PHP绘图技术&&验证码绘制】

    PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...

  3. 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)

    1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...

  4. 聊聊我的 Java 自学之路

    最近经常在知乎收到类似『没基础,java 如何自学』.『怎么才能掌握编程』等等问题,再加上发现高中同学也在自学.有感而发,讲讲我的自学之路. 1.1. 大学 高考没正常发挥,考入一所二流的学校,当时分 ...

  5. 一个「学渣」从零开始的Web前端自学之路

    从 13 年专科毕业开始,一路跌跌撞撞走了很多弯路,做过餐厅服务员,进过工厂干过流水线,做过客服,干过电话销售可以说经历相当的“丰富”. 最后的机缘巧合下,走上了前端开发之路,作为一个非计算机专业且低 ...

  6. 【我的前端自学之路】【HTML5】.html和.htm的区别

    以下为自学笔记内容,仅供参考. 转发请保留原文链接:https://www.cnblogs.com/it-dennis/p/10508171.html .htm 和 .html 的区别 .htm 和 ...

  7. 【转】Java自学之路——by马士兵

    作者:马士兵老师 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟 ...

  8. Java自学之路(新手一定要看)

    Java自学之路(新手一定要看) 转自尚学堂 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游 ...

  9. [感悟]马士兵Java自学之路——(精华版)

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

随机推荐

  1. 动态树LCT小结

    最开始看动态树不知道找了多少资料,总感觉不能完全理解.但其实理解了就是那么一回事...动态树在某种意思上来说跟树链剖分很相似,都是为了解决序列问题,树链剖分由于树的形态是不变的,所以可以通过预处理节点 ...

  2. ubuntu 14.04.02 LTS 启动项误写入 /dev/sda1 (win 7 loader) 修复

    问题描述: 在win7下安装Ubuntu14.04,由于启动项 /boot loader 安装位置错误(/dev/sda1 (win 7 loader) )导致无法进入Windows(在GRUB界面能 ...

  3. Invoke()/BeginInvoke()区别

    查看MSDN如下: Control..::.Invoke          ---> 在拥有此控件的基础窗口句柄的线程上执行委托. Control..::.BeginInvoke  ---> ...

  4. redis 服务器端命令

    redis 127.0.0.1:6380> time ,显示服务器时间, 时间戳(秒), 微秒数 1) "1375270361" 2) "504511" ...

  5. 基于cx_freeze编译PyQt4程序(numpy & scipy)

    当开发完成PyQt4程序后,需要提供给他人使用,这时最好的办法是将Python程序编译成exe文件. 通常我采用cx_freeze完成这个工作,即编写setup.py文件,执行python setup ...

  6. 递归删除.DS_Store文件

    删除svn文件 sudo find . -name ".DS_Store" -exec rm -r {} \; sudo find . -name ".git" ...

  7. windows系统安装ubuntu后,grub中没有windows启动项

    我的问题: 安装系统时候,选择grub安装在sdb磁盘 http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=474289&start=15 ...

  8. IOS网络编程:HTTP

    IOS网络编程:HTTP HTTP定义了一种在服务器和客户端之间传递数据的途径. URL定义了一种唯一标示资源在网络中位置的途径. REQUESTS 和 RESPONSES: 客户端先建立一个TCP连 ...

  9. 【Winform 控件浅谈 】 之 WebBrowser

    前言 鄙人才疏学浅,如果说错了,还请各位不吝赐教 1.什么是 WebBrowser 下面是已有的轮子,我想说它们是专业的 http://baike.baidu.com/view/2981935.htm ...

  10. Flux工作流

    Flux工作流 模型层(M)和控制层(C) Flux 只是这个模式的一个例子. 很多代码和一堆重复的模板 在其他JavaScript环境中实现重用. 强大又容易配置的模块化打包工具Webpack来简化 ...