说说PHP作图(二)_PHP教程
上次说了一种简单的回避GD的作图方法,而后又用GD作了最简单的一幅“图”——直线。 $style=array($col_red,$col_red,$col_black,$col_orn,$col_orn,$col_orn,$col_black); ImagePNG($im); 看看效果吧。 其中我用空行分割开的那三行,说明一下。定义了一个数组 $style,它的成员是一系列的颜色; 有了我详细讲解的画线的基础,我想把画其他几何图形的函数一笔代过。需要提示大家的是,无论 点,两个要素:横坐标、纵坐标 矩形,四个要素:左上角、右下角的横、纵坐标 弧,这样理解:弧可以包括圆弧、椭圆弧;画圆弧画他360度就可以成一个圆,画椭圆弧画他360度也就画 看下面这段例子。 作图当然免不了要把某一区域涂成某种颜色。GD有三种着色方式,一种是矩形区域着色, 接着: 这一次说到这里吧先。
这次我就接着画直线向下说。上次代码中详细解释过的部分,这次不再赘述。
Header("Content-type: image/png");
$im = ImageCreate (200, 100);
$col_black = ImageColorAllocate($im, 0,0,0);
$col_orn = ImageColorAllocate($im, 255,192,0);
// 今天用橘色吧。
// 跟 imageline 函数完全相同的用法,
ImageDashedLine($im,0,100,199,100,$col_orn);
// 这样就画了一条虚线。
// 下面我们来做个试验。用以说明一个问题。
$col_yel = ImageColorAllocate($im, 255,255,0);
// 黄色。
ImageLine($im,0,99,199,99,$col_yel);
// 在图象的最下沿画了一条黄色的线。
ImageLine($im,200,0,200,100,$col_orn);
// 试图在图象最右沿画一条澄色的线,结果什么也没有。
// 这表明,宽200,高100的图象,其坐标的范围是(0,0)到(199,99)。
ImagePNG($im);
ImageDestroy($im);
// 这一段先结束吧。
?>
接下来这个效果就爽了!我也是现学现卖。PHP4.0.6以上增加了这个用法——可以用交替的
颜色画线!示例如下:
Header("Content-type: image/png");
$im = ImageCreate (200, 100);
$col_black = ImageColorAllocate($im, 0,0,0);
$col_orn = ImageColorAllocate($im, 255,192,0);
$col_red = ImageColorAllocate($im, 255,0,0);
ImageSetStyle($im, $style);
ImageLine($im, 0, 50, 199, 50, IMG_COLOR_STYLED);
ImageDestroy($im);
?>
然后执行了一个函数,而后用 IMG_COLOR_STYLED “颜色”画出来的是这么神奇的“直线”——
红色、黑色、橙色交替的效果。仔细看一下你就会发现,红、黑、橙交替的顺序,就是我们定义的
$style数组成员的序列:红、红、黑、橙、橙、橙、黑,然后周而复始……
看明白了吗?注意,这个函数在PHP4.0.6以后才支持。
画哪种几何图形,无非是抓住这种图形的几个要素。先不算颜色,各种图形的要素如下:
成一个椭圆;所以这个弧的要素有六:中心点横、纵坐标,横轴长、纵轴长、弧的始、终点。
Header("Content-type: image/png");
$im = ImageCreate (200, 100);
$col_blk = ImageColorAllocate($im, 0,0,0);
$col_orn = ImageColorAllocate($im, 255,192,0);
$col_red = ImageColorAllocate($im, 255,0,0);
$col_grn = ImageColorAllocate($im, 0,255,0);
$col_blu = ImageColorAllocate($im, 0,0,255);
ImageSetPixel($im,20,10,$col_orn);
// 小小一个点,不知道能否看得见?
ImageRectangle($im,25,20,95,55,$col_blu);
// 蓝色的矩形。
ImageArc($im,20,85,50,40,225,360,$col_grn);
// 绿色的椭圆弧,中心在(20,85),横轴50,纵轴40,225度至360度。
// 由此可见,这里的圆弧始、终点是以角度计量,
// 是以水平向右的方向为0度,顺时针计算的。
ImageArc($im,160,60,40,40,0,360,$col_orn);
// 橙色的整圆。只要横轴长与纵轴长相等,就是正圆。
// 上高中我们就学过:圆是椭圆的特例嘛!
// 最后再画一段圆弧。圆心能否在图象以外?
ImageArc($im,160,140,240,240,0,360,$col_red);
// 可以!
ImagePNG($im);
ImageDestroy($im);
?>
一种是指定的点所处的封闭区域着色,另一种是指定的颜色所包围的区域着色。看以下的例子:
Header("Content-type: image/png");
$im = ImageCreate (200, 100);
$col_blk = ImageColorAllocate($im, 0,0,0);
$col_orn = ImageColorAllocate($im, 255,192,0);
$col_yel = ImageColorAllocate($im, 255,255,0);
$col_red = ImageColorAllocate($im, 255,0,0);
$col_grn = ImageColorAllocate($im, 0,255,0);
$col_blu = ImageColorAllocate($im, 0,0,255);
ImageFilledRectangle($im,20,10,100,50,$col_blu);
ImageFilledRectangle($im,5,40,50,90,$col_red);
ImageFilledRectangle($im,40,80,100,95,$col_orn);
ImageFilledRectangle($im,90,35,110,90,$col_yel);
// 以上是第一种着色。直接绘制矩形。
// 我故意用四个不同颜色的矩形围起一小块区域,
// 用以说明第二种着色。
ImagePNG($im);
ImageDestroy($im);
// 看一下效果。
?>
Header("Content-type: image/png");
$im = ImageCreate (200, 100);
$col_blk = ImageColorAllocate($im, 0,0,0);
$col_orn = ImageColorAllocate($im, 255,192,0);
$col_yel = ImageColorAllocate($im, 255,255,0);
$col_red = ImageColorAllocate($im, 255,0,0);
$col_grn = ImageColorAllocate($im, 0,255,0);
$col_blu = ImageColorAllocate($im, 0,0,255);
ImageFilledRectangle($im,20,10,100,50,$col_blu);
ImageFilledRectangle($im,5,40,50,90,$col_red);
ImageFilledRectangle($im,40,80,100,95,$col_orn);
ImageFilledRectangle($im,90,35,110,90,$col_yel);
// 以上是第一种着色。直接绘制矩形。
// 我故意用四个不同颜色的矩形围起一小块区域,
> // 用以说明第二种着色。
ImageFill($im,70,70,$col_grn);
// 这是第二种着色。
ImageRectangle($im,120,40,190,90,$col_grn);
// 暂且画一个矩形来做框吧。事实上任何样子的边界都可以做框。
ImageFilltoBorder($im,130,50,$col_grn,$col_orn);
// 把绿色矩形框内涂成橙色。
// 只要指定的点位于这个“框”的范围内即可,与该点在区域内的位置无关。
// 这个函数其实是这样工作的:
// 从指定的点开始,向外,寻找指定颜色的边界,如果找到,则停止,
// 找不到,就把途经的点涂成需要的颜色。
ImagePNG($im);
ImageDestroy($im);
// 看一下效果。
// 现在我们作出的图已经是花花绿绿了,可是在浏览器里,图片上,
// 右键->属性:只有 214 个字节!
?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
