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);
Другие вопросы по тегам