填充几何图形

使用GD2函数不仅可以绘制线条图形,而且可以绘制填充图形,如填充圆形,填充矩形等。下面对GD2中常用的填充图形的绘制方法进行介绍。

bool imagefill( resource image, int x, int y, int color )

imagefill()函数在image图像的坐标( x, y ) (图像的左上角为(0,0))处用color颜色执行区域填充(即与(x,y)点颜色相同切相邻的点都会被填充)。

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

imagefilledarc() 在 image 所代表的图像中以 cxcy(图像左上角为
0, 0)画一椭圆弧。成功时返回 TRUE, 或者在失败时返回 FALSE.w 和 h 分别指定了椭圆的宽和高,s 和 e 参数以角度指定了起始和结束点。style 可以是下列值按位或(OR)后的值:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED

 
      IMG_ARC_PIE
 和 IMG_ARC_CHORD 是互斥的;IMG_ARC_CHORD 只是用直线连接了起始和结束点,IMG_ARC_PIE 则产生圆形边界(如果两个都用,IMG_ARC_CHORD生效)。IMG_ARC_NOFILL 指明弧或弦只有轮廓,不填充。IMG_ARC_EDGED 指明用直线将起始和结束点与中心点相连,和 IMG_ARC_NOFILL 一起使用是画饼状图轮廓的好方法(而不用填充)。

bool imagefilledellipse ( resource image , int cx , int cy , int w , int h , int color )

imagefilledellipse() 在 image 所代表的图像中以 cxcy(图像左上角为
0, 0)为中心画一个椭圆。w 和 h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。成功时返回 TRUE
或者在失败时返回 FALSE.

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

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

例如:应用如上函数,绘制填充圆形和填充正方形,代码如下

<?php
    header("Content-type: image/png");//将图像输出到浏览器
    $img = imagecreate(400, 200);//创建一个400X200的画布
    $bg = imagecolorallocate($img, 0, 0, 255);//设置背景颜色
    $white = imagecolorallocate($img, 255, 255 ,255);//设置填充颜色
    imagefilledellipse($img, 100, 100, 150, 150, $white);//绘制填充圆形
    imagefilledrectangle($img, 200, 50, 300, 150, $white);//绘制填充正方形
    imagepng($img);//以png格式输出图像
    imagedestroy($img);//释放资源

运行结果如下所示

时间: 2024-12-31 02:18:39

填充几何图形的相关文章

OpenGL基础渲染

OpenGL渲染管线(简化版) 客户端-服务器 客户端是存储在CPU存储器中的,并且在应用程序中执行(或者驱动程序),驱动程序将渲染命令和数据组合起来,发动到服务器执行.服务器和客户机在功能上市异步的,他们是各自独立的软件模块或者硬件模块. 着色器 数据先传给顶点着色器,然后是片段着色器,几何着色器(可选择)出现在两者之间 顶点着色器(Vertex Shader) 片段着色器(Fragment Shader) fragment不是最后的像素数据,但和像素对应:fragment需要经过处理,ble

EditText自定义边框背景与动态检测用户输入

一.EditText自定义边框背景 1.效果演示 2.代码实现 (1)res/drawable/shape_edit_normal.xml 功能:编辑框没获得焦点时,使用该shape.<shape.../>为根元素的ShapeDrawable资源,主要用于定义一个基本的几何图形,如矩形.圆形.线条等. <solid.../>子元素用于指定填充集合图形的的颜色: <corners.../>子元素用于定义几个图形的四个角的弧度: <gradient../>子元素

QT 基本图形绘制

QT 基本图形绘制 1.告诉绘制引擎一些东西 QPainter::Antialiasing 在可能的情况下,反锯齿       QPainter::TextAntialiasing 在可能的情况下,文字反锯齿       QPainter::SmoothPixmapTransform   采用平滑的Pixmap变换算法 2.绘制函数 3.风格 1)画刷风格 2)画笔风格 3)画笔连接点风格 4)顶端风格 4.绘图前的准备 1  如果要在绘图设备(一般为窗口部件)上绘图,只需创建一个QPainte

java语言程序

第一章 Jave语言基础 1.1 Java语言的特点 领会Java语言的特点.关键字 1010-11.Java语言采用多种机制来保证可移植性,其中最主要的是______.虚拟机 1110-11.Java语言是一种 ____强类型语言___ 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误. 1.2 Java应用程序和小应用程序 识记      Java应用程序与小应用程序的特点和区别 11.一个应用程序必须在某个类中定义的方法是______.main() 1201-

C# GDI+绘图 z

一.坐标系 坐标系是图形设计的基础.GDI+使用三个坐标空间:世界.页面和设备,其中,世界坐标是用于建立特殊图形世界模型的坐标系,也是在.NET Framework中传递给方法的坐标系.而页面坐标系是指绘图图画(如窗体.控件)使用的坐标系.设备坐标系是在其上绘制的物理设别(如屏幕和纸张)所使用的坐标系. 坐标系总是以左上角为原点(0,0),除了原点之外,坐标系还包括横坐标(X轴)和纵坐标(Y轴) 二.像素 像素全称为图像元素,它是构成图像的基本单位.通常以像素每英寸PPI(pixels per

Qt--基础图形绘制

一.基础图形绘制 A.Qt图形系统中的关键角色QPainter--Qt中的画家,能够绘制各种基础图形 ,拥有绘图所需的画笔.画刷.字体QPaintDevice--Qt中的画布,画家的绘图板,所有的QWidget类都继承自QPaintDeviceQt图形系统中的关键角色Qt中所使用的工具1.QPen-用于绘制几何图形的边缘,由颜色.宽度.线风格等参数组成2.QBrush-用于填充几何图形的调色板,由颜色和填充风格组成3.QFont-用于文本绘制,由字体属性组成需要注意的是--只能在QWidget:

使用UGUI绘制自定义几何图形

本文展示了如何使用UGUI绘制矩形,同理可绘制其他几何图形. UGUI的渲染体系,简单来说所有的控件和可显示的元素都是Graphic.Graphic持有一个CanvasRenderer,通过SetVertices设置顶点,最终完成绘制. 举例来说,Image控件就是一个Graphic,这个GameObject上面同时还有一个CanvasRenderer,两者结合起来最终把图片绘制完成. 重点在于绘制函数修改为OnPopulateMesh,使用VertexHelper来设置顶点,先设置所有的顶点,

十二,几何图形和图画

Path类是功能最强大的形状类,它能够包含任何简单形状.多级形状及更更复杂的曲线.Path.Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形,Geometry是一个抽象类,指定Data时需要使用以下Geometry类的派生类: 路径和几何图形之间的区别:几何图形定义形状,而路径用于绘制形状,因此,Geometry对象为形状定义了坐标.尺寸等细节,而Path对象提供了绘制形状所使用的Stroke和Fill画刷,Path类还继承自UIElement基础架构中的特性

Direct2D教程(三)简单几何图形

从本章开始,我们介绍D2D几何图形. D2D图形分类 Direct2D支持多种类型的几何图形,包括Simple Geometry(简单几何图形) 矩形 圆角矩形 椭圆 Path Geometry(路径图形)Composite Geometry(复合图形) Geometry Group(图形组) Transformed Geometry(变换的图形) 各种图形对应的D2D接口如下,所有接口都继承自ID2D1Geometry. 矩形-ID2D1RectangleGeometry 圆角矩形-ID2D1