Aktueller Standort: Startseite> Neueste Artikel> Möchten Sie ein Ringdiagramm machen? Teilen Sie die vollständigen Schritte zum Erstellen eines Ring -Image -Effekts mit ImageFilledarc

Möchten Sie ein Ringdiagramm machen? Teilen Sie die vollständigen Schritte zum Erstellen eines Ring -Image -Effekts mit ImageFilledarc

M66 2025-06-27

In der Webentwicklung ist die Display -Anzeige ein wichtiger Bestandteil der interaktiven Erfahrung des Benutzers. Als gemeinsamer Diagrammtyp werden Ringdiagramme in Datenvisualisierungsszenarien mit ihren prägnanten und intuitiven Anzeigeeffekten häufig verwendet. Wenn Sie Ringdiagramme in PHP generieren möchten, ist die ImageFilledarc -Funktion ein guter Helfer für Sie. Im Folgenden werden Sie Ihnen beibringen, wie Sie die GD -Bibliothek in PHP verwenden, um Ringgrafikeffekte durch eine Reihe von Schritten zu erstellen.

1. Umweltvorbereitung

Zunächst müssen wir sicherstellen, dass Ihre PHP -Umgebung die GD -Bibliothek bereits unterstützt, da ImageFilledarc Teil der GD -Bibliothek ist. Sie können prüfen, ob die GD -Bibliothek aktiviert ist, indem Sie den folgenden Code folgen:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'gd_info'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"GDDie Bibliothek ist aktiviert"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"GDBibliothek nicht aktiviert"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Wenn die GD -Bibliothek nicht aktiviert ist, müssen Sie sie installieren und aktivieren, in der Regel in der PHP -Konfigurationsdatei oder die Installation relevanter Erweiterungen auf dem Server.

2. Erstellen Sie eine grundlegende Bild -Leinwand

Bei Verwendung der GD -Bibliothek besteht der erste Schritt normalerweise darin, eine Leinwand zu erstellen. Die Leinwand können über die Funktion imageCrreatTueColor () erstellt werden, die ein leeres Canvas -Objekt zurückgibt, das wir verschiedene Zeichenvorgänge ausführen können.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Stellen Sie die Breite und Höhe der Leinwand ein</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">400</span></span><span>;
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">400</span></span><span>;

</span><span><span class="hljs-comment">// Erstellen Sie eine Leinwand</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);

</span><span><span class="hljs-comment">// Füllen Sie den Hintergrund mit Farbe</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// Weiß</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

3. Zeichnen Sie ein Ringdiagramm

Verwenden Sie als Nächstes die Funktion von ImageFilledarc (), um das Ringdiagramm zu zeichnen. Diese Funktion kann einen gefüllten Bogen zeichnen, und wir erstellen einen Ringgrafikeffekt, indem wir unterschiedliche Start- und Endwinkel einstellen.

Parameterbeschreibung von ImageFilledarc () Funktion:

 <span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-variable">$color</span></span><span>, </span><span><span class="hljs-variable">$style</span></span><span>);
</span></span>
  • $ Bild : Canvas -Ressource

  • $ cx, $ cy : Zentralkoordinaten

  • $ width, $ Höhe : Breite und Höhe des Kreises

  • $ Start, $ End : Der Start- und Endwinkel des Bogens (Einheit: Grad)

  • $ Farbe : Farbe füllen

  • $ style : zeichnen Stil, erstellen Sie gefüllte Bögen mit IMG_ARC_PIE

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Farbe setzen</span></span><span>
</span><span><span class="hljs-variable">$black</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-variable">$blue</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);
</span><span><span class="hljs-variable">$green</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);

</span><span><span class="hljs-comment">// Zentrumkoordinaten</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-variable">$width</span></span><span> / </span><span><span class="hljs-number">2</span></span><span>;
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-variable">$height</span></span><span> / </span><span><span class="hljs-number">2</span></span><span>;

</span><span><span class="hljs-comment">// Zeichnen Sie ein Ringdiagramm</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$blue</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Blauer Bereich</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">240</span></span><span>, </span><span><span class="hljs-variable">$green</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Grünanlage</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">240</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$black</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Schwarzer Bereich</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Ausgabe und Speichern von Bildern

Sobald Sie das Zeichnen beendet haben, können Sie das Bild direkt auf der Webseite anzeigen oder als Datei speichern. Stellen Sie den Inhaltstyp auf den Bildtyp durch die Funktion Header () ein und verwenden Sie dann Funktionen wie ImagePng () oder ImageJpeg (), um das Bild auszugeben.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Stellen Sie den Inhaltstyp auf PNG Bild</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);

</span><span><span class="hljs-comment">// 输出Bild到浏览器</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// 保存Bild到文件</span></span><span>
</span><span><span class="hljs-comment">// imagepng($image, 'donut_chart.png');</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

5. Bildressourcen zerstören

Um den Speicher zu speichern, denken Sie nach dem Generieren von Bildern daran, Bildressourcen zu zerstören:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

6. CODE CODE -Beispiel

Wenn Sie alle Schritte kombinieren, finden Sie hier ein komplettes Beispiel für den Codebeispiel von PHP -Ring -Diagrammgenerierung:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Erstellen Sie eine Leinwand</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">400</span></span><span>;
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">400</span></span><span>;
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);

</span><span><span class="hljs-comment">// Füllen Sie den Hintergrund mit Farbe</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// Weiß</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);

</span><span><span class="hljs-comment">// Farbe setzen</span></span><span>
</span><span><span class="hljs-variable">$black</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-variable">$blue</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);
</span><span><span class="hljs-variable">$green</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);

</span><span><span class="hljs-comment">// Zentrumkoordinaten</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-variable">$width</span></span><span> / </span><span><span class="hljs-number">2</span></span><span>;
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-variable">$height</span></span><span> / </span><span><span class="hljs-number">2</span></span><span>;

</span><span><span class="hljs-comment">// Zeichnen Sie ein Ringdiagramm</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$blue</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Blauer Bereich</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-number">240</span></span><span>, </span><span><span class="hljs-variable">$green</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Grünanlage</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledarc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">240</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$black</span></span><span>, IMG_ARC_PIE); </span><span><span class="hljs-comment">// Schwarzer Bereich</span></span><span>

</span><span><span class="hljs-comment">// Stellen Sie den Inhaltstyp auf PNG Bild</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);

</span><span><span class="hljs-comment">// 输出Bild到浏览器</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// 销毁Bild资源</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

7. Zusammenfassung

Durch die obigen Schritte haben Sie gemeistert, wie die ImageFilledarc -Funktion verwendet wird, um ein einfaches Ringdiagramm zu zeichnen. Sie können die Parameter wie Farbe, Winkel und Größe entsprechend den tatsächlichen Bedürfnissen einstellen, um ein kreisförmiges Diagramm zu erstellen, das Ihren Anforderungen entspricht. In komplexen Anwendungen können Ringdiagramme auch mit dynamischen Daten kombiniert werden, um den Inhalt von Diagrammen in Echtzeit zu aktualisieren und die Benutzererfahrung zu verbessern.

Ich hoffe, dieses Tutorial kann Ihnen dabei helfen, in PHP -Projekten Effekte zu erzielen und Ihre Datenvisualisierungsfunktionen weiter zu verbessern!