php使用gd2绘制基本图形示例(直线、圆、正方形)

yipeiwu_com5年前PHP代码库

本文实例讲述了php使用gd2绘制基本图形。分享给大家供大家参考,具体如下:

应用GD2函数可以绘制的图形有多种,最基本的图形包括条、圆、方形等。无论开发人员绘制多么复杂的图形,都是在这些最基本的图形的基础上进行深化的,只有掌握了最基本的图形的绘制方法,才能绘制出各种具有独特风格的图形。

在GD2中可以分别应用imageline()函数、imagearc()函数和imagerectangle()函数绘制直线,圆形和方法。

下面将介绍这些函数的使用方法:

bool imageline( resource image, int x1, int y1, int x2, int y2, int color )

imageline()函数用color颜色在图像image中从坐标(x1,y1)到(x2,y2)(图像左上角为(0,0))绘制一条线段。

bool imagearc( resource image, int cx, int cy, int w, int h, int s, int e, int color)

image : 表示图像的handle
cx,cy 原点坐标(0,0)为图片的左上角,参数cx,cy为椭圆圆心坐标
w,h分别为水平轴长和垂直轴长
s,e分别为起始角与结束角
color为弧线的颜色

bool imagerectangle( resource image, int x1, int y1, int x2, int y2, int color)

imagerectangle()函数以color颜色在image图像中绘制一个矩形,其左上角坐标为( x1,y1),右下角坐标为( x2, y2)。图像的左上角坐标为(0,0)

例如应用以上函数,分别绘制直线、正圆和正方形,并且以白色作为线条的基色,代码如下

<?php
  header("Content-type: image/png");//将图像输出到浏览器
  $img = imagecreate(560, 200);//创建一个560X200像素的图像
  $bg = imagecolorallocate($img, 0, 0, 255);//设置图像的背景颜色
  $white = imagecolorallocate($img, 255, 255, 255);//设置绘制图像的线的颜色
  imageline($img, 20, 20, 150, 180, $white);//绘制一条线
  imagearc($img, 250, 100, 150, 150, 0, 360, $white);//绘制一个圆
  imagerectangle($img, 350, 20, 500, 170, $white);//绘制一个正方形
  imagepng($img);//以PNG格式输出图像
  imagedestroy($img);//释放资源

运行结果如下:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

百度工程师讲PHP函数的实现原理及性能分析(一)

百度工程师讲PHP函数的实现原理及性能分析(一)

前言 在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试...

基于php冒泡排序算法的深入理解

交换排序的基本思想:两两比较待排序的数据,如果发生逆序,则交换之,直到全部数据都排好序为止。•冒泡排序的基本思想:1.从后往前,扫描所有的数据,如果相邻的两个数发生逆序,则互...

PHP开发不能违背的安全规则 过滤用户输入

作为最基本的防范你需要注意你的外部提交,做好第一面安全机制处理防火墙。 规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(...

php生成xml时添加CDATA标签的方法

本文实例讲述了php生成xml时添加CDATA标签的方法。分享给大家供大家参考。具体实现方法如下: 其实php生成xml时添加CDATA标签方法非常的简单,因为是一个在xml中可以存储各...

php cookie 作用范围–不要在当前页面使用你的cookie

因为在本地测试完全没有问题,所以ssh到远程服务器上(不是发布服务器,建议不要直接在Publish Server上直接改东西),进行了一下断点的测试,最后发现是一个比较复杂的逻辑中有个函...