2016-07-07 7 views
1

私は、画像の上にテキストを追加しよう:するimagestringゴミのテキスト問題

すでに試した
$newImg = imagecreatetruecolor($dst_width, $dst_height); 
imagealphablending($newImg, false); 
imagecopyresampled($newImg, $im, 0, 0, 0, 0, $dst_width, $dst_height, $width, $height); 

imagesavealpha($newImg, true); 
    if(!empty($name)){ 
    $fontSrc = './fonts/DejaVuSans.ttf';//support utf8 and unicode 
    $font = imageloadfont($fontSrc); 
     //Couleur des noms 
     $bg = imagecolorallocatealpha($newImg, 0, 0, 0, 0);  
     $textcolor = imagecolorallocatealpha($newImg, 255, 255, 255, 1); 

     //Deplacer les noms 
     imagestring($newImg, $font, 0, $dst_height - 17, 'שדגשדג', $textcolor); 
    } 

header('Content-Type: text/html; charset=utf-8'); 
imagestring($newImg, 500, 0, $dst_height - 17, utf8_encode('שדגשדגש'), $textcolor); 

私はヘブライ語(UTF8)にテキストを入れたときに問題がある:שדגשדそのテキストを表示しますあなたはその種類を見ることができるように

image example

:そのような絵にゴミ箱のテキスト、それを修正する適切な方法は何ですか?

+1

私の最初の推測は、使用されているフォントがユニコードをサポートしていないことです。 – Eiko

+0

もそれを試しました、私は今編集します。 – Roasls

答えて

1

[OK]を最後に深い研究とテストのトン私はついにそれが実現させたと今、問題がUTF8でcanno'tの仕事をするimagestringたUTF8の文字を使用することができますし、私はimagettftextとTTFフォントをロードするように変更する必要があります後にそのutf8のサポートをサポートします:

putenv('GDFONTPATH=' . realpath('.')); 
    $fontGD = './fonts/DejaVuSans'; 
    imagettftext($newImg, 20, 0, 10, 20, $black, $fontGD, 'שגשדג'); 

それは今働いています。