Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Bildverarbeitung (mittel) – Text zeichnen

PHP-Bildverarbeitung (mittel) – Text zeichnen

齐天大圣
Freigeben: 2020-05-04 14:42:17
Original
162 Leute haben es durchsucht

Gewöhnlichen Text zeichnen

Funktion: imagestring()

imagestring ( resource $image , int $font, int $x, int $y, string $s, int $col) : bool
Nach dem Login kopieren

imagestring() Verwenden Sie col color, um die Zeichenfolge s an das x des durch image dargestellten Bildes zu zeichnen , Y-Koordinate (dies ist die Koordinate der oberen linken Ecke der Zeichenfolge, die obere linke Ecke des gesamten Bildes ist 0, 0). Wenn die Schriftart 1, 2, 3, 4 oder 5 ist, wird die integrierte Schriftart verwendet.

Die Verwendung von Imagestring zum Zeichnen von Schriftarten ist sehr einfach. Aber auch die Mängel liegen auf der Hand: Die Schriftgröße beträgt nur 1 bis 5 und chinesische Schriftzeichen werden nicht unterstützt.

<?php
/**绘制文字**/
$imgHandler = imagecreatetruecolor(100,100);
// 绘制矩形并填充
$borderCol = imagecolorallocate($imgHandler, 23, 32, 200);
imagefilledrectangle($imgHandler, 0, 0, 99, 99, $borderCol);
// 绘制水平方向文字
$strColor = imagecolorallocate($imgHandler, mt_rand(0,100), mt_rand(0, 100), mt_rand(0, 100));
imagestring($imgHandler, 5,1, 45, &#39;hello world&#39;, $strColor);
// 垂直方向文字
imagestringUp($imgHandler, 5,45, 99, &#39;hello world&#39;, $strColor);
header("Content-Type:image/png");
imagepng($imgHandler);
imagedestroy($imgHandler);
Nach dem Login kopieren

Verwenden Sie die Schriftartenbibliothek, um Text zu zeichnen

Verwenden Sie Imagestring, um Text zu zeichnen, es ist sehr einfach. Aber es gibt mehrere Mängel. Erstens: Es kann kein Chinesisch zeichnen. Außerdem wird der mit Imagestring gezeichnete Text nicht zu groß.

Hier verwenden wir imagettftext zum Zeichnen von Text. Zusätzlich zur Einstellung der Schriftgröße kann imagettftext auch den Neigungswinkel der Schriftart festlegen.

Vor der Verwendung müssen wir einige Schriftarten im TTF-Format finden. Es gibt viele Schriftarten im Verzeichnis C:WindowsFonts unter dem Windows-System. Die Wirkung des von

<?php
/* 使用imagettftext向图像正中写文字 */

$im = imagecreatetruecolor(300, 300);
$bgColor = imagecolorallocate($im, 222,222,222);
imagefill($im,0, 0, $bgColor);
$size = 30;
$angle = 0;
$font = &#39;D:\wwwroot\stdphp\img\font/msyhbd.ttf&#39;;
$text = &#39;大圣到此一游&#39;;

//获取文字信息
$info = imagettfbbox($size, $angle, $font, $text);
$minx = min($info[0], $info[2], $info[4], $info[6]);
$maxx = max($info[0], $info[2], $info[4], $info[6]);
$miny = min($info[1], $info[3], $info[5], $info[7]);
$maxy = max($info[1], $info[3], $info[5], $info[7]);

///* 计算文字初始坐标和尺寸 */
$x = $minx;
$y = abs($miny);
$w = $maxx - $minx;
$h = $maxy - $miny;

/* 随机文字颜色 */
$textColor = imagecolorallocate($im, mt_rand(0,150), mt_rand(0,150), mt_rand(0,150));
imagettftext($im, $size, $angle, (300 - $w) / 2 + $x, (300 - $h) / 2 + $y, $textColor, $font, $text);
header("Content-type:image/png");
imagepng($im);
imagedestroy($im);
Nach dem Login kopieren

gezeichneten Bildes ist wie folgt:

PHP-Bildverarbeitung (mittel) – Text zeichnen

Das obige ist der detaillierte Inhalt vonPHP-Bildverarbeitung (mittel) – Text zeichnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
1
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage