일반 텍스트 그리기
함수: imagestring()
imagestring ( resource $image , int $font, int $x, int $y, string $s, int $col) : bool
imagestring() col 색상을 사용하여 image가 나타내는 이미지의 x, y 좌표에 문자열 s를 그립니다. 문자열, 전체 프레임 이미지의 왼쪽 상단은 0,0입니다. 글꼴이 1, 2, 3, 4, 5이면 내장 글꼴이 사용됩니다.
이미지 스트링을 사용하여 글꼴을 그리는 것은 매우 간단합니다. 하지만 단점도 매우 뚜렷합니다. 글꼴 크기가 1~5에 불과하고 한자는 지원되지 않습니다.
<?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, 'hello world', $strColor); // 垂直方向文字 imagestringUp($imgHandler, 5,45, 99, 'hello world', $strColor); header("Content-Type:image/png"); imagepng($imgHandler); imagedestroy($imgHandler);
글꼴 라이브러리를 사용하여 텍스트를 그립니다.
이미지 문자열을 사용하여 텍스트를 그립니다. 매우 간단합니다. 그러나 몇 가지 결함이 있습니다. 우선, 중국어를 그릴 수 없습니다. 또한 이미지 문자열을 사용하여 그리는 텍스트는 너무 크지 않습니다.
여기에서는 imagettftext를 사용하여 텍스트를 그립니다. 글꼴 크기를 설정하는 것 외에도 imagettftext는 글꼴의 기울기 각도도 설정할 수 있습니다.
사용하기 전에 ttf 형식의 일부 글꼴을 찾아야 합니다. Windows 시스템 아래의 C:WindowsFonts 디렉터리에는 많은 글꼴이 있습니다.
<?php /* 使用imagettftext向图像正中写文字 */ $im = imagecreatetruecolor(300, 300); $bgColor = imagecolorallocate($im, 222,222,222); imagefill($im,0, 0, $bgColor); $size = 30; $angle = 0; $font = 'D:\wwwroot\stdphp\img\font/msyhbd.ttf'; $text = '大圣到此一游'; //获取文字信息 $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);
님이 그린 그림의 효과는 다음과 같습니다.
위 내용은 PHP 이미지 처리(중간) - 텍스트 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!