Bei der Verwendung der GD -Bibliothek von PHP für die Bildverarbeitung ist ImageCharUp () eine Funktion, um einzelne Zeichen vertikal in einem Bild zu zeichnen. Obwohl es den reichen Stil von TrueType -Schriftarten wie Imagetettftext () nicht unterstützt, kann es in einigen einfachen Szenarien immer noch grundlegende Zeichenzeichnungsaufgaben ausführen. ImageCharUp () selbst unterstützt jedoch nicht direkt zu kursiven oder mutigen Stilen. Daher müssen wir diese Effekte durch prozedurale Fähigkeiten "simulieren".
Die grundlegende Verwendung der Funktion der ImageCharUp () ist wie folgt:
imagecharup(resource $image, int $font, int $x, int $y, string $char, int $color): bool
$ Bild : Bildressource
$ font : eingebaute Schriftarten (0 bis 5)
$ x , $ y : Charakter -Startkoordinaten
$ char : Der Charakter, der gezogen wird
$ Farbe : Farbkennung
Diese Funktion zeichnet Zeichen von unten nach oben auf dem Bild, wobei die Zeichenanordnung vertikal ist.
Das Prinzip des Fettdrucks lautet: Machen Sie einen leichten Versatz in der Nähe der Zeichen, zeichnen Sie denselben Charakter erneut und bilden Sie einen visuellen "fettdrucken". Dies kann durchgeführt werden, indem ImageCharUp () in leicht versetzten Positionen wiederholt aufgerufen wird.
<?php
$image = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $white);
// Simulation fett
$font = 4;
$x = 50;
$y = 80;
$char = 'A';
for ($i = 0; $i < 2; $i++) {
imagecharup($image, $font, $x + $i, $y, $char, $black);
}
imagepng($image, 'bold.png');
imagedestroy($image);
?>
Zeichnen Sie den Wert von $ x oder $ y zweimal oder mehr den gleichen Charakter, um die "dickere" Kante zu simulieren. Sie können versuchen, einen größeren Versatz zu verwenden, um diesen Effekt zu verbessern.
Der kursive Effekt bedeutet normalerweise, dass der Charakter verzerrt angezeigt wird. ImageCharUp () unterstützt keine Dreh- oder Neigungszeichnung, aber wir können das Neigungsgefühl durch Linien-für-Line-Charakter-Offset "erzeugen".
Eine Möglichkeit, dies zu implementieren, besteht darin, jeden Charakter nacheinander zu zeichnen und den X-Koordinatenversatz nach und nach allmählich zu erhöhen oder zu verringern, um eine geneigte Anordnung zu bilden.
<?php
$image = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $white);
$font = 3;
$x = 40;
$y = 80;
$text = "PHP";
$offset = 0;
for ($i = 0; $i < strlen($text); $i++) {
$char = $text[$i];
imagecharup($image, $font, $x + $offset, $y - $i * 15, $char, $black);
$offset += 1; // Steuern Sie den Neigungswinkel
}
imagepng($image, 'italic.png');
imagedestroy($image);
?>
Der obige Code zeichnet die Zeichenfolge Php vertikal und bildet gleichzeitig ein kursives Gefühl, indem die X -Koordinate buchstäblich erhöht wird. Obwohl diese Methode nicht so flexibel ist wie TrueType -Schriftarten, ist sie ohne ImagettFtext () ein praktischer Versicherungsmittel.
Obwohl Kursivschrift und Fettdruck durch integrierte Schriftarten visuell begrenzt sind, ist sie immer noch praktisch für leichte Text-Rendering-Szenarien wie Symbole, Verifizierungscodes und eingebettete Geräte. In einigen einfachen dynamischen Bildanwendungen können auch spezifische Anforderungen erfüllt werden.
Sie können die generierten Bilder über PHP ausgeben oder auf dem Server speichern, z. B.:
header('Content-Type: image/png');
imagepng($image);
Oder laden Sie auf Ihren eigenen Domain -Namensserver, wie z. B.:
// Ausgabeadresse: https://gitbox.net/images/bold.png
Das obige ist eine praktische Technik zur Implementierung von Kursivschrift und kühnen Effekten durch ImageCharUp () . Ich hoffe, es kann Ihnen helfen, diese Funktion flexibel in leichten Bildverarbeitungsaufgaben anzuwenden.