PHP自学之路---报表及绘图技术
Ø 报表
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自学之路---报表及绘图技术的更多相关文章
- 【转】JAVA自学之路
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...
- 【PHP绘图技术&&验证码绘制】
PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...
- 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)
1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...
- 聊聊我的 Java 自学之路
最近经常在知乎收到类似『没基础,java 如何自学』.『怎么才能掌握编程』等等问题,再加上发现高中同学也在自学.有感而发,讲讲我的自学之路. 1.1. 大学 高考没正常发挥,考入一所二流的学校,当时分 ...
- 一个「学渣」从零开始的Web前端自学之路
从 13 年专科毕业开始,一路跌跌撞撞走了很多弯路,做过餐厅服务员,进过工厂干过流水线,做过客服,干过电话销售可以说经历相当的“丰富”. 最后的机缘巧合下,走上了前端开发之路,作为一个非计算机专业且低 ...
- 【我的前端自学之路】【HTML5】.html和.htm的区别
以下为自学笔记内容,仅供参考. 转发请保留原文链接:https://www.cnblogs.com/it-dennis/p/10508171.html .htm 和 .html 的区别 .htm 和 ...
- 【转】Java自学之路——by马士兵
作者:马士兵老师 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟 ...
- Java自学之路(新手一定要看)
Java自学之路(新手一定要看) 转自尚学堂 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游 ...
- [感悟]马士兵Java自学之路——(精华版)
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...
随机推荐
- 解决linux .so的链接时符号依赖问题
问题描述 target: a.out SO:libmyfile.so 依赖描述: a.out: libmyfile.so libmyfile.so: libssl.so.1.0.0 libssl.s ...
- Oauth认证简介
Oauth是什么: 1.Oauth是一种安全认证的协议: 2.Oauth为用户资源的授权提供了一个安全的.开放而又简易的标准: 3.Oauth的授权不会使第三方触及到用户的账号信息(用户名和密码). ...
- xubuntu14.04截图,彻底到Linux一个半月后记
前言 自学计算机技术,越到后面,越依赖ubuntu,以致于很多时候都是一开机就打开虚拟机上的ubuntu10.04,Linux已经变得越来越重要了. 2014-04-17,ubuntu14.0 ...
- Device.js——检测设备平台、操作系统的Javascript 库
http://segmentfault.com/a/1190000000373735 Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <h ...
- Django Admin 简单部署上线
前言 打算为公司弄一个管理公用密码的平台,由于比较懒,就选择使用Django admin,默认的admin并不漂亮,于是我使用了这个django-suit插件来美化 如图: 是不是比原来的漂亮多了. ...
- 转:SSE:服务器发送事件
原文来自于:http://javascript.ruanyifeng.com/htmlapi/eventsource.html 目录 概述 客户端代码 概述 建立连接 open事件 message事件 ...
- Mysql 授权访问
' WITH GRANT OPTION; FLUSH PRIVILEGES; 这就是设置一个 urser:root pwd: 账号,该账号可以在任何机器,同时访问服务器
- windows 下安装nodejs及其配置环境
第一步:下载安装文件下载nodejs,官网:http://nodejs.org/download/,我这里下载的是node-v0.10.28-x86.msi,如下图: 第二步:安装nodejs下载完成 ...
- unity3d 幻灯片效果实现
上一篇使用的是静态方式进行的加载,采用的数据结构为 数组 该篇文章则是使用动态加载的方式实现: this.objsOfRouses = Resources.LoadAll("images&q ...
- 通过CreateOleObject控制IE
//第二种方法可以有更多控制procedure TForm1.Button1Click(Sender: TObject);procedure OpenInIE(aURL: string);//need ...