对于PHP绘图技术的理解

要使用PHP绘图,就得在php.ini文件中设置一下

找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了

几乎每行代码我都写了注释,方便看懂

<?php
    
    //PHP绘图技术

//创建画布,默认背景是黑色
    $im=imagecreatetruecolor(400,300);

//绘制需要的各种图形
    //创建一个颜色
    $red=imagecolorallocate($im,255,0,0);
    
    //画圆,5个参数(画布,圆心xy,宽高,颜色)
    imageellipse($im,20,20,20,20,$red);
    
    //画直线,6个参数(画布,起点xy,终点xy,颜色)
    imageline($im,0,0,400,300,$red);

//画矩形
    imagerectangle($im,0,0,40,50,$red);

//填充矩形
    imagefilledrectangle($im,0,0,40,50,$red);

//弧线,8个参数(画布,圆心xy,宽高,起点角度,终点角度,颜色) 以3点钟方向为0度,顺时针画圆弧
    imagearc($im,100,100,50,50,180,270,$red);
    
    //扇形
    imagefilledarc($im,100,100,50,50,180,270,$red,IMG_ARC_PIE);

//拷贝图片
    //1.加载原图片
    //$srcImage=imagecreatefrompng("a.png");

//获取图片的大小
    //$srcImageInfo=getimagesize("a.png");

//拷贝原图片到目标画布,8个参数(目标画布,源图片,画布位置xy,源图片起始坐标xy,宽高)
    //imagecopy($im,$srcImage,0,0,0,0,$srcImageInfo[0],$srcImageInfo[1]);

//写字
    //imagestring($im,5,0,0,"hello,world哈哈",$red);此函数比较弱
    $str="hello哈哈";
    imagettftext($im,30,0,50,50,$red,"simsun.ttc",$str);

//输出图像到网页,也可以另存
    header("content-type:image/png");
    imagepng($im);

//销毁该图片(释放内存)

imagedestory($im);
?>

画出的图形还有文字大概是这样的,字符编码需使用UTF-8

原文地址:https://www.cnblogs.com/daqiu/p/10405767.html

时间: 2024-10-21 12:59:58

对于PHP绘图技术的理解的相关文章

Windows 窗体的.Net 框架绘图技术

当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如.在这里经常会用到的,且需要引起一点注意的就是控件效果.游戏,自定义图表控件以及屏幕保护程序的编写会需要程序员额外撰写用于响应 Paint 事件的代码. 本文针对那些Wind

JAVA入门到精通-第33讲-绘图技术.坦克大战1

    用的是Access数据库,安全性不够好,性能也不够强大:   躲在这里,坦克很少过来,做了一个随机数: 把得分的记录保存在数据库里面: SQLServer2005中型数据库:    (x,y)坐标:     800x600:     表示计算机屏幕上的每一行由800个点组成,共有600行:   共有480000个像素:   java绘图技术:   绘图一般在JPane上画: 覆盖JPanel的paintat方法 Graphics是一个图形画笔类,绘图的重要类,可以理解为一只画笔 supe

PHP 绘图技术

1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png ..... 区别: gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画 jpg/jpeg 图片压缩率高(有损压缩),可以用较小的文件来显示,网页上用得比较多 png 该格式综合了gif和jpg的优势,缺点是不能显示动画 2.通过PHP编程来绘图 <?php $width=800; $height=600; //绘图技术 基本步骤 前提:在php.ini文件中启用gd库 //创建画布 默认背景是黑

【PHP绘图技术&amp;&amp;验证码绘制】

PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并复制到当前目录,改名为font.ttf 1 <?php 2 //1.创建画布 3 $im=imagecreatetruecolor(500,400); 4 //2.创建一个颜色 5 $red=imagecolorallocate($im,0,255,0); 6 //画圆 7 imageellipse

对AJAX技术的理解,创建,与应用

ajax的理解: 1. ajax是介于客户端与服务器端之间的一个机制,但这一机制是在前台的,利用前台的闲置功能,来进行前台与后台的数据交流,以达到增强用户体检,减少服务器压力,更有效的利用带宽的效果. 2. ajax是采用异步交互的机制. 3. ajax使用于页面局部刷新,按需求验证和取数据. 4. ajax缺点便是浏览器的兼容问题麻烦,与嵌入式移动端对ajax的支持不太理想. 5.ajax已经是一种web开发必备的技术,而且其优点远大于缺点. 6.ajax涉及到的主要技术有7种其中Javasc

【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011-07-14 10:34:54|  分类: 学习笔记 |  标签:双缓冲绘图技术  mfc  动态曲线   |举报 |字号 订阅 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新.一.如何绘制动态曲线. 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静

ajax无刷新绘图技术总结

在最近的一份项目当中,我发现我需要一份很重要的功能,就是实现动态的无刷新的更新数据,数据的显示为报表形式,这样的话,在我一开始的思考当中,就产生了一个很大的难度了,首先,因为服务器绘图技术本身就有一点难度,而且利用ajax无刷新的形式进行绘图就更有难度了,所以就思考怎么去完成这个项目. 首先,我们第一次打开页面,如果数据是从服务器把数据从模板分配到视图页面的,这样显示了数据,然后就应该发送ajax请求,服务器接收到发送的数据,这里其实项目是不需要处理数据的,这里无关紧要,主要是返回数据,这里数据

Windows-消息映射机制原理和简单的绘图技术

Windows-消息映射机制原理和简单的绘图技术 1.MFC消息映射机制 众所周知,Windows程序是基于消息编程的,但是在MFC中已经为我们封装好了这个框架的消息机制,我们需要了解它的实现原理,才能深入的学习和精通Visual C++. **(1).消息映射机制的原理: MFC消息映射机制的具体实现方法是,在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表,即消息映射表.在消息映射表中,消息与对应的消息处理函数指针是成对出现的.某个类能处理的所有消息及其对应的消息处理函数的地址都

.NET学习之路----我对P/Invoke技术的理解(一)

看了P/Invoke技术的介绍,于是想写下点东西,东西包含两个部分:知识的纪录和我的理解及疑问. r托管代码中调用非托管API函数的过程 1.定位包含API的DLL: 2.载入DLL 3.找到DLL中想要的那个API,然后把参数压入栈中.排列数据(排列数据是什么意思?数据封送) 4.把执行权限从托管代码中转移到非托管代码中() 对Dll中的函数进行一些说明,以能调用 DllImport特性来说明函数,有一些特殊的作用,比如换掉API的原来名字,见DLLImport特性. 非托管函数和托管方法中数