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. windows cmd 命令大全

    原文: http://www.cnblogs.com/greatverve/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . ...

  2. Qt5:Qt程序不在任务拦显示图标

    setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint); 回头再写

  3. 解析json数组

    解析json数组 JSONArray jsonArray = new JSONArray(markingStr); int iSize = jsonArray.length(); for (int i ...

  4. 【HighCharts系列教程】二、Highcharts结构及API文档

    一.你必须知道的 1.首先,HighCharts是基于Jquery框架开发的,所以需要在页面引入Jquery,具体代码是: <script type="text/javascript& ...

  5. 搭建git服务器及利用git hook自动布署代码

    注意:服务器:Ubuntu Server 14.04,我的项目比较小,所有操作都使用root,建议最好新建一个用户(需要有管理员权限,否则在后面使用hooks自动部署代码时会出现各种权限问题,很蛋疼的 ...

  6. HDU 2498 Digits

    水题.题目这样定义的,另f(x)为x有几位,x[i]=f(x[i-1]); 求最小的i使得x[i]==x[i-1] #include<cstdio> #include<cstring ...

  7. Javascript Fromdata 与jQuery 实现Ajax文件上传以及文件的删除

    前端HTML代码: <!DOCTYPE html> <html> <head> <title>ajax</title> <script ...

  8. Sping--life cycle

    bean.xml: 注意, 千万不要后面加上 scope="prototype" <?xml version="1.0" encoding="U ...

  9. java类集: collection, list , set, map

    都在java.util包里.容器:装各种对象. Collections类 : 集合工具类, 提供了一些静态方法, 方法里的参数是List等. Colection接口,子接口主要有:   Set: 内容 ...

  10. slf4j与logback对接是如何将日志写到控制台的

    今天一个以前同事问了个RT的问题 我翻了下代码,简单跟了下 很简单 1. demo代码 package org.simonme.demo.log; import org.slf4j.Logger; i ...