gd库-使用php绘图的基础知识

GD库用于动态图像创建。从我们使用的PHP​GD库可以从我们的代码中立即创建GIF、PNG或JPG图像。这使我们能够动态创建图表、创建反机器人安全图像、创建缩略图图像,甚至从其他图像构建图像。...

01

2007年

什么是广东图书馆(the gd library)?

woman at laptop

GD库用于动态图像创建。从我们使用的PHP​GD库可以从我们的代码中立即创建GIF、PNG或JPG图像。这使我们能够动态创建图表、创建反机器人安全图像、创建缩略图图像,甚至从其他图像构建图像。

如果不确定是否有GD库,可以运行phpinfo()检查是否启用了GD支持。如果你没有,你可以免费下载。

本教程将介绍创建第一张图像的基础知识。在开始之前,您应该已经有了一些PHP知识。

Male designer with tattoos drawing at desk. Male designer with tattoos drawing at desk.

02

2007年

带文本的矩形

man at laptop
  1. 使用这段代码,我们正在创建一个PNG图像。在我们的第一行标题中,我们设置了内容类型。如果我们创建一个jpg或gif图像,这将相应地改变。
  2. 接下来是图像句柄。ImageCreate()中的两个变量是矩形的宽度和高度,按顺序排列。我们的矩形是130像素宽,50像素高。
  3. 接下来,我们设置背景色。我们使用ImageColorAllocate()并有四个参数。第一个是我们的把手,接下来的三个决定颜色。它们是红色、绿色和蓝色值(按顺序排列),必须是介于0和255之间的整数。在我们的示例中,我们选择了红色。
  4. 接下来,我们选择文本颜色,使用与背景颜色相同的格式。我们选择了黑色。
  5. 现在,我们使用ImageString()输入要显示在图形中的文本。第一个参数是句柄。然后是字体(1-5),从X坐标开始,从Y坐标开始,文本本身,最后是颜色。
  6. 最后,ImagePng()实际上创建了PNG图像。

03

2007年

玩字体

person at computer

尽管我们的大部分代码保持不变,但您会注意到我们现在使用的是ImageTTFText()而不是ImageString()。这允许我们选择字体,字体必须是TTF格式。

第一个参数是我们的句柄,然后是字体大小、旋转、起始X、起始Y、文本颜色、字体,最后是文本。对于字体参数,您需要包括字体文件的路径。对于我们的示例,我们将字体Quel放在一个名为字体的文件夹中。从我们的示例中可以看到,我们还将文本设置为以15度角打印。

如果文本未显示,则可能是字体路径错误。另一种可能是旋转、X和Y参数将文本放置在可视区域之外。

04

2007年

画线

person at laptop

在这段代码中,我们使用ImageLine()来​划一条线。第一个参数是我们的句柄,后面是开始的X和Y,结束的X和Y,最后是我们的颜色。​

为了制作一个像我们的例子中那样的冷火山,我们只需将其放入一个循环中,保持起始坐标不变,但使用结束坐标沿x轴移动。

05

2007年

画椭圆

person at laptop

我们在Imageellipse()中使用的参数是句柄、X和Y中心坐标、椭圆的宽度和高度以及颜色。就像我们对直线所做的那样,我们也可以将椭圆放入一个循环中,以创建螺旋效果。

如果需要创建实心椭圆,则应改用ImageFilleDelipse()。

06

2007年

弧与饼

two people programming at computer

使用ImageFilled Arc,我们可以创建饼图或切片。参数为:手柄、中心X&Y、 宽度、高度、起点、终点、颜色和类型。起点和终点以度为单位,从3点钟位置开始。

这些类型包括:

  1. 拱形填充拱
  2. IMG_圆弧_弦-用直尺填充
  3. IMG_ARC_NOFILL-作为参数添加时,使其未填充
  4. IMG_弧边-连接到中心。您将使用nofill来制作未填充的馅饼。

我们可以在下面放置第二个圆弧来创建3D效果,如上面的示例所示。我们只需要在颜色下和第一个填充弧之前添加此代码。

07

2007年

总结基本知识

person at laptop

到目前为止,我们创建的所有图像都是PNG格式的。上面,我们使用ImageGif()函数创建一个GIF。我们也相应地更改了标题。您还可以使用ImageJpeg()来创建JPG,只要标题更改以适当地反映它。

您可以像调用普通图形一样调用php文件。例如:

  • 发表于 2021-10-20 17:56
  • 阅读 ( 327 )
  • 分类:编程

你可能感兴趣的文章

菲律宾比索(php)和.net版(.net)的区别

...器端语言(如PHP)与数据库通信以存储和管理数据。这是使用结构化查询语言(SQL)完成的。PHP块以<开头;?以什么结尾?>。PHP变量以“$”开头。e、 g.$value=5;用户不需要写入数据类型。PHP会自动将变量转换为正...

  • 发布于 2020-10-19 23:44
  • 阅读 ( 238 )

寻找最好的编程语言?从这里开始!

...ipt是添加浏览器端逻辑和实时更改的唯一方法(学习JQuery基础知识是一个很好的开始)。现在,浏览器端和服务器端逻辑都可以使用JavaScript,使用Meteor或React这样的框架很容易做到。 Python:Python用于服务器端逻辑,...

  • 发布于 2021-03-12 12:24
  • 阅读 ( 294 )

7所有网站开发人员都应该知道的编程技巧

... 互联网是我们今天工作和娱乐方式的基础——无论是使用数字接口、花时间编码,还是凌晨3点在床上购物。一些网络开发知识正成为现代知识工作者必备的技能。那些掌握如何在这个行业创造的人,将是21世纪最具竞争力和...

  • 发布于 2021-03-15 10:16
  • 阅读 ( 230 )

5最佳免费php脚本资源在线

...发或维护一个基于PHP的网站,并且希望添加新功能,那么使用其他人免费提供的代码没有什么错。它会节省你的时间和精力。 ...

  • 发布于 2021-03-16 14:36
  • 阅读 ( 308 )

什么是素描本?最好的艺术家和设计师免费绘图应用程序

... 除了基础知识外,SketchBook还包括一些更专门的工具。这些包括一系列的参考线和标尺、透视参考线、扭曲变换、笔刷混合、轻松渐变,以及单独的“动画书”动画模式。 ...

  • 发布于 2021-03-25 07:48
  • 阅读 ( 247 )

学习如何以有趣和互动的方式编写代码

...具有交互性。 以互动和有趣的方式学习PHP基础知识:本课程的每堂课都包含一些理论知识,并逐步解释基础知识。但是,您可以在简单的任务中应用该理论来实践和学习PHP。 掌握Python基础知识的有...

  • 发布于 2021-03-30 03:09
  • 阅读 ( 223 )

通过参加这个python训练营课程获得更好的工作机会

...何人掌握Python很少或没有经验的编码。每门课程都会教您基础知识,提供实践训练练习,以及以令人兴奋的方式学习Python的项目。详情如下: ...

  • 发布于 2021-03-30 06:16
  • 阅读 ( 308 )

如何构建自己的usenet索引器

...-mysql php5-curl 下一步我们需要做的是编辑PHP配置,我们将使用nano: nano /etc/php5/cli/php.ini 有两个设置需要更改,首先您需要更改: max_execution_time = 120 您还需要更改日期时区设置,您可以在这里获得可能值的完整列表。 接下来...

  • 发布于 2021-04-12 07:01
  • 阅读 ( 184 )

如何使用thinkup存档、搜索和查看您的tweet统计信息

...、回复、回复等,以便您可以搜索它们并找出一些有用的使用统计数据。它有相当多的插件,包括一个添加了完整的Facebook支持。 它被设计安装在LAMP服务器上;也就是说,Linux、Apache、MySQL和PHP将为它提供主干。虽然可以将它安...

  • 发布于 2021-04-13 02:04
  • 阅读 ( 176 )

动态链接库(dll)和执行(exe)的区别

...于dll是动态链接库的文件扩展名,其中包含其他程序可以使用的函数和过程,而exe是可执行文件的文件扩展名。 文件是计算机系统中存储信息的容器。有各种类型的文件,如文本文件,数据文件,二进制,图形,目录文件等。...

  • 发布于 2021-07-01 01:03
  • 阅读 ( 230 )
romanslit
romanslit

0 篇文章

相关推荐