PHP текст в изображение
Я получил хороший результат в PHP/GD для записи текста в шаблон изображения, текст хорошо переносится, но не "гладко", вот код, который я использую:
<?php
header("Content-type: image/png");
$text = "go to school go to school go to school go to school go to school go to school go to school go to school go to school go to school go to school ";
$arrText=explode("\n",wordwrap($text,60,"\n"));
$im = imagecreatefrompng("template.png");
$y = 15; //vertical position of text
foreach($arrText as $arr)
{
$white = imagecolorallocate($im,0,0,0); //sets text color
imagestring($im,5,15,$y,trim($arr),$white); //create the text string for image,added trim() to remove unwanted chars
$y = $y+20;
}
imagepng($im);
imagedestroy($im);
?>
2 ответа
Решение
Попробуйте включить сглаживание:
imageantialias($im, true);
Это заставляет это выглядеть немного лучше?
Или попробуйте imagettftext со шрифтом TrueType:
imagettftext ( $im, 15, 0, 15, $y, $white, 'fontfile.ttf', trim($arr));
Пожалуйста, попробуйте это:-
Помните: установите правильный путь для шрифта $font = 'arial.ttf';
header('Content-type: image/png');
// Create the image
$im = imagecreatetruecolor(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = 'go to school go to school go to school go to school go to school go to school go to school go to school go to school go to school go to school';
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);