1、PHP报表的创建,通过绘图,过程

要先开启gb库,

可以使用jpgraph(绘图框架)快速制作一些图形

报表的作用:可以制作一些统计图,地形图,分布图等,还可以做验证码图片(通过在画布上加字和干扰图片)

一、//创建画布

$im=imagecreatetruecolor(400, 300);

二、//绘制需要的各种图形(圆,直线,矩形,弧线,扇形......)

//创建一个颜色

$red=imagecolorallocate($im, 255, 0, 0);//颜色

imageellipse($im, 20, 20, 20,20, $red);//圆

还可以拷贝图片到画布

//拷贝图片到画布 //1、加载源图片 $srcImage=imagecreatefrompng('logo.png');

//得到图片宽和高 $imageinfo=getimagesize('logo.png'); //拷贝源图片到目标画布

imagecopy($im, $srcImage,0, 0, 0, 0,$imageinfo[0],$imageinfo[1]);

还可以在画布上写字,或者加一些其他的图形,

3、最后输出图片,并销毁

//输出图形到网页,也可以另存

header('content-type:image/png'); imagepng($im);

//销毁该图片

imagedestroy($im);

<?php
//创建画布
$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, 0, 0, 40, 50, $red);//矩形
imagefilledrectangle($im, 60, 60, 90, 90, $red);//填充矩形
imagearc($im, 150, 150, 50, 50,0,180, $red);//弧线
//扇形
imagefilledarc($im, 200, 200, 80, 50, 0, 90, $red, IMG_ARC_ROUNDED); //拷贝图片到画布
//1、加载源图片
$srcImage=imagecreatefrompng('logo.png');
//得到图片宽和高
$imageinfo=getimagesize('logo.png');
//拷贝源图片到目标画布
imagecopy($im, $srcImage,0, 0, 0, 0,$imageinfo[0],$imageinfo[1]); //写字
//imagestring($im, 9, 0,0, 'huo海峰', $red);
$str='huo霍海峰';
$str=iconv('gbk', 'utf-8', $str);
imagettftext($im, 30, -25, 50, 50, $red,'SIMHEI.TTF',$str); //输出图形到网页,也可以另存
header('content-type:image/png');
imagepng($im);
//销毁该图片
imagedestroy($im);
//

php绘图-报表的更多相关文章

  1. PHP自学之路---报表及绘图技术

    Ø  报表 a)        什么是报表 报表就是用表格.图表等格式来动态显示数据. b)        PHP绘图坐标系 1.  坐标系介绍 下图说明了PHP坐标系.坐标原点位于左上角,以像素为单 ...

  2. R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

    本文版权归http://www.cnblogs.com/weibaar 本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从exce ...

  3. HighChart报表之饼图

    个人认为HighChart做报表还是很不错的,从报表的样式还是性能都是很不错的选择. 1.新建一个html页面,命名为:ReportTest.html <script type="te ...

  4. Mark Down绘图语法

    以下语法在网易云笔记中测试通过. 绘图的标志位是三个单引号```  开始  ``` 结尾 ,注意是英文半角的单引号,以下的字符也是英文半角状态下的才正确. 搜狗输入法的要特别注意,记得把shift 切 ...

  5. 【WEB前端】使用百度ECharts,绘制项目质量报表

    一.下载ECharts的js库 下载地址:http://echarts.baidu.com/download.html 由于我们对体积无要求,所以我们采用了完整版本,功能齐全,在项目中,我们只需要像普 ...

  6. C# 报表设计器 (winform 设计端)开发与实现生成网页的HTML报表

    记得2010年之前,公司的项目基本上都要用到报表,以前我们常用的方法就是针对客户的需求来定制化开发(基本上是死写代码)来实现,经常导致项目经常性的延期,因为客户的需求经常会变化,随着用户的使用认知度的 ...

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

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

  8. 多功能节点连线绘图控件Nevron Diagram for .NET使用方法及下载地址

    Nevron Diagram for .NET是一个功能强大,世界上顶级的.NET图表控件.可扩展的图形报表构架,可以帮您创建功能丰富的Winforms及Webforms图表解决方案.这个产品构建于N ...

  9. 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身

    年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...

随机推荐

  1. App installation failed There was an internal API error.

    工程名为汉字的时候,真机调试会出现这种问题.模拟器没有问题. 如图: 解决办法:

  2. HTML5 学习01

    HTML的英语意思是:Hypertext Marked Language,即超文本标记语言,是一种用来制作超文本文档的简单标记语言. 所谓超文本,是因为它可以加入图片.声音.动画.影视等内容,事实上每 ...

  3. s15day14 ssh秘钥远程连接

    1 使用密钥登录    1.1 创建密钥对    1.2 上传公钥文件    1.3 导入公钥信息    1.4 使用密钥对登录2 远程执行命令    2.1 简单命令    2.2 使用脚本执行多命 ...

  4. 第2课 Linux操作系统简介

    1. Linux操作系统的构成 (1)内核(kernel) ①操作系统的核心,负责管理系统的进程.内存.设备驱动程序.文件和网络系统. ②控制系统和硬件之间的相互通信. ③决定着系统的性能和稳定性. ...

  5. Java设计模式--Java Builder模式

    1.Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,很容易出错. public Person(String name) P ...

  6. Android MediaScanner:(一)MediaScanner总体架构

    Android MediaScanner:(一)MediaScanner总体架构 分类: Android android.multimedia2012-05-19 18:29 5050人阅读 评论(5 ...

  7. Total Highway Distance

    Total Highway Distance 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playing a ...

  8. CodeForces 605B Lazy Student

    构造.对边的权值排序,权值一样的话,在MST中的边排到前面,否则权值小的排在前面. 然后边一条一条扫过去,如果是1 ,那么连一个点到集合中,如果是0,集合内的边相连. #include<cstd ...

  9. vim 配置快捷以使复制可用

    "设置快捷以使用xshell的复制 let g_copy_mode = function! CopyToggle() let g:g_copy_mode = set mouse=c set ...

  10. Ubuntu iptables 设置

    在ubuntu中由于不存在 /etc/init.d/iptales文件,所以无法使用service等命令来启动iptables,需要用modprobe命令. 启动iptables modprobe i ...