Aktueller Standort: Startseite> Neueste Artikel> Wie verwendet ich die ImageStringup -Funktion in PHP, um vertikalen Text auf Bildern zu zeichnen? Erläutern Sie die Zeichentechniken im Detail

Wie verwendet ich die ImageStringup -Funktion in PHP, um vertikalen Text auf Bildern zu zeichnen? Erläutern Sie die Zeichentechniken im Detail

gitbox 2025-08-25

1. Einführung in die Funktion von ImageStringUp ()

ImagestringUp () ist eine Funktion in der PHP -GD -Bibliothek, die vertikale Text auf Bildern zeichnet. Ähnlich wie bei der ImageString () -Funktion kann ImagestringUp () auch Text in eine bestimmte Position im Bild zeichnen, aber sein Merkmal ist, dass der Text eher vertikal als horizontal angeordnet ist.

Funktionsprototyp:

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span> ( resource </span><span><span class="hljs-variable">$image</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$font</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$x</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$y</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$text</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$color</span></span><span> )
</span></span>

Parameterbeschreibung:

  • Bild : Die Zielbildressource wird durch Funktionen wie Imagecreate () , Imagecreatefromjpeg () generiert.

  • Schriftart : Schriftgröße, verwenden Sie voreingestellte Schriftarten in der GD -Bibliothek oder geben Sie die Größe einer benutzerdefinierten Schriftart an.

  • X : Die X -Koordinate der Ausgangsposition des Textes.

  • Y : Die Y -Koordinate der Ausgangsposition des Textes.

  • Text : Die zu zeichnende Textzeichenfolge.

  • Farbe : Textfarbe, normalerweise erzeugt von der Funktion "ImageColOralClocation () .

Rückgabewert:

Diese Funktion gibt eine Ganzzahl zurück, die angibt, ob der Zeichenvorgang erfolgreich ist, aber wir müssen uns normalerweise nicht um den Rückgabewert kümmern.


2. Grundlegende Schritte zum zeichnen vertikalen Text mit ImageStringUp ()

Um vertikalen Text auf einem Bild zu zeichnen, ähnelt der grundlegende Betriebsprozess dem horizontalen Zeichnen von Text, mit der Ausnahme, dass ImagestringUp () anstelle von Imagestring () verwendet wird. Hier sind die spezifischen Schritte zum Zeichnen vertikaler Text:

  1. Erstellen Sie eine Bildressource.

  2. Farbressourcen zuweisen.

  3. Verwenden Sie die Funktion ImageStringUp (), um Text auf ein Bild zu zeichnen.

  4. Geben Sie das Bild in den Browser aus oder speichern Sie es in einer Datei.

Beispielcode:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Erstellen Sie ein leeres wahres Farbbild</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);

</span><span><span class="hljs-comment">// Weisen Sie Hintergrundfarbe und Textfarbe zu</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ßer Hintergrund</span></span><span>
</span><span><span class="hljs-variable">$textColor</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-comment">// Schwarzer Text</span></span><span>

</span><span><span class="hljs-comment">// Legen Sie den zu zeichnenden Text ein</span></span><span>
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Vertikaler Textbeispiel"</span></span><span>;

</span><span><span class="hljs-comment">// Vertikalen Text zeichnen</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-variable">$textColor</span></span><span>);

</span><span><span class="hljs-comment">// Ausgabe Bild zum Browser</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-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// Zerstöre Bildressourcen</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>

Im obigen Code erstellen wir ein leeres Bild von 300x200 und setzen den Hintergrund auf Weiß und die Textfarbe auf Schwarz. Anschließend nennen wir die Funktion imageStringUp (), um den vertikalen Text "vertikaler Textbeispiel" auf dem Bild zu zeichnen. Schließlich wird das Bild im PNG -Format in den Browser ausgegeben und die Bildressourcen werden zerstört, um den Speicher zu befreien.


3.. Gemeinsame Zeichentechniken und Vorsichtsmaßnahmen

3.1 Größenänderung Schriftarten

Die Schriftgröße der Funktion der ImageStringUp () wird durch den zweiten Parameter bestimmt. Dieser Parameterwert ist eine Zahl, die die Größe der Schrift darstellt. Je größer die Schriftgröße ist, desto dicker der Text und höher der Text. Die Schriftgröße kann entsprechend den tatsächlichen Bedürfnissen angepasst werden.

3.2 Textposition steuern

Wenn Sie ImagestringUp () aufrufen, müssen Sie die Startkoordinaten des wörtlichen ( x und y ) bereitstellen. Da der Text vertikal angeordnet ist, bestimmt die X -Koordinate die horizontale Position des Textes und die Y -Koordinate den vertikalen Ausgangspunkt des Textes. Sie können die genaue Position des Textes steuern, indem Sie diese beiden Parameter einstellen.

3.3 Verwenden von benutzerdefinierten Schriftarten

Die ImageStringUp () -Funktion unterstützt nur die Verwendung integrierter Schriftarten (z. B. Schriftarten, die durch die Nummer 5 dargestellt werden). Wenn Sie komplexere oder unterschiedliche Arten von Schriftarten benötigen, wird empfohlen, die Funktion von ImagettFtext () zu verwenden, mit der Sie Text mit TrueType -Schriftarten zeichnen können. ImagestringUp () ist für einige einfache vertikale Textzeichnungsbedürfnisse geeignet. Wenn Sie jedoch komplexere Schriftregler benötigen, ist ImagettFtext () eine bessere Wahl.

3.4 Vergleich zwischen Text und Hintergrund

Um sicherzustellen, dass der vertikale Text klar und lesbar ist, wird empfohlen, eine Farbe auszuwählen, die mit dem Hintergrund steht. Verwenden Sie für helle Hintergründe dunklen Text und umgekehrt.

3.5 Einstellung der Bildgröße

Wenn Sie zu lang Text zeichnen oder die Schriftart groß ist, kann er die Grenzen des Bildes überschreiten. Sie können die Breite und Höhe des Textes vor dem Zeichnen berechnen, um sicherzustellen, dass die Bildgröße ausreicht, um den gesamten Text aufzunehmen.