Сохранение изображения с японским текстом - PullRequest
1 голос
/ 30 июля 2011

Я установил --enable-gd-jis-conv = shared и --enable-mbstring = shared, но мне все еще не удается сохранить японский текст, сохраненный в изображение с использованием файла шрифта.

Если я заменю «英雄 時代» на какой-нибудь английский текст, изображение будет создано правильно с английскими символами японского шрифта, однако с японским текстом я получаю странные квадраты и другие вещи.

public function makeJapaneseCharacter($font="static/JFONT.TTF", $W=200, $H=20, $X=0, $Y=0, $fsize=18, $color=array(0x0,0x0,0x0), $bgcolor=array(0xFF,0xFF,0xFF))
{        
$this->im = @imagecreate($W, $H)
or die("Cannot Initialize new GD image stream");

$background_color = imagecolorallocate($this->im, $bgcolor[0], $bgcolor[1], $bgcolor[2]); //RGB color background.
$text_color = imagecolorallocate($this->im, $color[0], $color[1], $color[2]);            //RGB color text.

imagettftext($this->im, $fsize, $X, $Y, $fsize, $text_color, $font, mb_convert_encoding('英雄時代', 'SJIS', 'UTF-8'));
$this->saveAsPng("jchar", "static/");
}


public function saveAsPng($fileName, $location= null)
{        

    $_fileName = $fileName.".png";
    $_fileName = is_null($location)?$_fileName:$location.$_fileName;
    return imagepng($this->im, $_fileName);        
}    

ЛюбойОчень хотелось бы помочь, Николас.

Ответы [ 2 ]

0 голосов
/ 31 июля 2011
imagettftext($this->im, 58, 0, 50, 100,
    $text_color, $font,
    mb_convert_encoding('佳人', 'UTF8', 'UTF-8'));

Ключ найден.

0 голосов
/ 30 июля 2011

попробуйте написать L'英雄時代' вместо '英雄時代'.Я не знаю, какой язык вы используете, но это то, что вам нужно делать в C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...