Вы можете использовать imagettftext()
для записи текста на изображения, если ваш хост поддерживает GD2 и FreeType (как это делают большинство серверов). Вы можете найти его подробный синтаксис и комментарии здесь:
http://php.net/manual/en/function.imagettftext.php
Найдите шрифт (* .ttf или * .otf), который поддерживает символы хинди. Поместите файл шрифта в ту же директорию, что и ваш скрипт, а затем попробуйте этот код, заменив «yourhindifont.ttf» на собственное имя шрифта:
<?php
// your string, preferably read from a source elsewhere
$utf8str = "पुलिसवाला आमिर खान";
// buffer output in case there are errors
ob_start();
// create blank image
$im = imagecreatetruecolor(400,40);
$white = imagecolorallocate($im,255,255,255);
imagefilledrectangle($im,0,0,imagesx($im),imagesy($im),$white);
// write the text to image
$font = "yourhindifont.ttf";
$color = imagecolorallocatealpha($im, 50, 50, 50, 0); // dark gray
$size = 20;
$angle = 0;
$x = 5;
$y = imagesy($im) - 5;
imagettftext($im, $size, $angle, $x, $y , $color, $font, $utf8str);
// display the image, if no errors
$err = ob_get_clean();
if( !$err ) {
header("Content-type: image/png");
imagepng($im);
} else {
header("Content-type: text/html;charset=utf-8");
echo $err;
}
?>
Если вы планируете вводить хинди непосредственно в ваш источник, обязательно установите кодировку документа вашего источника на UTF-8 (без спецификации) в вашем редакторе заранее. В противном случае строка не будет сохранена должным образом.