使用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);//释放资源

运行结果如下:

时间: 2024-01-29 15:42:10

使用gd2绘制基本图形的相关文章

鼠标绘制简单图形

功能: 1.绘制的图形包括直线.椭圆和矩形,通过菜单对绘制的图形切换 2.在视图中使用鼠标动态的绘制图形 分析: 当窗口尺寸发生变化时,引起窗口重绘,会发送WM_PAINT消息,这时首先会擦除窗口的背景,然后再进行重绘操作,这样就把窗口中先前绘制的图形擦除掉了:可以将绘制图形的三要素(起点.终点.绘制类型)保存下来,在窗口重绘调用程序视图类窗口的OnDraw函数中再将图形根据保存的三要素重新输出: 1.数据 在视图中添加两个点坐标 CPoint m_ptOrigin;  //起点坐标 CPoin

[Tool] 使用Astah绘制UML图形

[Tool] 使用Astah绘制UML图形 前言 在软件开发的过程中,开发人员可以绘制UML图形来将分析设计内容转化为图形化文件,方便在团队之间传递分析设计结果.但在团队经费有限的情景中,可能没办法为每个项目成员都配置专业的UML绘制工具,例如Visual Studio Ultimate,来绘制UML图形,这时可以选择一些免费版本的绘制工具,做为团队间绘制UML图形的工具. 本篇文章介绍Astah这个提供免费版本的UML绘制工具,用来在团队经费有限的状况下,为每个成员配置UML绘制工具,避免软件

[html5] 学习笔记-Canvas 绘制渐变图形与绘制变形图形

在 HTML5 中,使用 Canvas API 绘制图形的知识,可以对绘制图形进行处理,包含使用 Canvas API 绘制渐变图形,使用 Canvas API 的坐标轴变换处理功能绘制变形图形.其中,左上方的点,为坐标轴原点(0,0). 1.绘制渐变图形 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <script> 6 function draw(id){ 7 va

PyQt5利用QPainter绘制各种图形

这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握了很多新的知识点 [知识点] 1.关于多个点的使用 poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 请看: 1 # 定义多个点 2 points = [QPoint(10, 80), QPoint(2

史上最强大的40多个纯CSS绘制的图形

今天在国外的网站上看到了很多看似简单却又非常强大的纯 CSS 绘制的图形,里面有最简单的矩形.圆形和三角形,也有各种常见的多边形,甚至是阴阳太极和网站小图标,真的非常强大,分享给大家. Square (正方形) #square { width: 100px; height: 100px; background: red; } Rectangle (矩形) #rectangle { width: 200px; height: 100px; background: red; } Circle (圆形

css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数

本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录的问题吧.一,css画特殊图形. 在网页中,需要一些特殊图形时.比如半圆形,三角形等,我们一般是让ui切图,但是实际上,利用css的边框 (border)属性,我们可以绘制一些有规律的图形. 盒模型中元素有四个角,那么每个角就存在一个弧度的属性. 先看代码: 1 .half_circle{ 2 wi

使用turtle模块绘制多边图形

python 版本:3.4.3 import 模块:turtle 使用turtle模块绘制多边图形,代码如下:  #-*- charset:utf-8 -*- import turtle #设置画笔笔迹宽度 turtle.pensize(3) #画三边形 turtle.color("red") turtle.penup() turtle.goto(-200,-50) turtle.pendown() turtle.circle(40, steps=3) #画四边形 turtle.col

如何在ChemDraw中绘制透视图形

ChemDraw虽然是一款常用的化学图形绘制软件,但是很多的用户对其使用还是了解的不多,因此,我们希望通过做一些教程来给大家做个参照.本教程将如何用ChemDraw软件绘制霍沃思(Haworth)D-葡萄糖结构透视图.  D-葡萄糖结构透视图形 绘制实例之前先进行以下操作: (1)从文件菜单选择New document. (2)从文件菜单选择Save as,出现存储对话框. (3)在对话框的文件名框中,输入tul5.cdx. (4)选择存储格式,在其中存储文件. (5)单击OK按钮. 以下是实例

Highcharts绘制各种图形

原文:Highcharts绘制各种图形 源代码下载地址:http://www.zuidaima.com/share/1550463741430784.htm   可以绘制各种图形,扇形,折线形,饼形等... 使用spring框架,数据库是mysql在数据库中建一个t_trade表