2009-06-16 5 views
0

저는 GD를 사용하여 페이지의 제목 이미지에 대한 이미지를 즉시 생성합니다. 현재 100 개가 넘는 이미지가 생성되고 있으며 대다수의 이미지가 훌륭하게 작동합니다.GD 이미지 생성 버그

최근에 우리는 2 개의 문자 사이에 큰 수평 공간이 삽입 된 이미지 생성을 깨고있는 특정 제목을 발견했습니다.

이미지 생성에 사용되는 글꼴은 고속도로이며, 다음은 작동하는 제목의 예와 깨진 글꼴의 예입니다. 제목이 깨진 경우에는 서로 가까이에있는 "JB"문자가 깨졌습니다. 문자를 뒤집거나 문자 사이에 여러 문자가 있으면 이미지가 올바르게 생성됩니다.

예제에서 볼 수 있듯이 제목은 텍스트의 짧은 부분과 긴 부분 모두에서 작동하지만, 지금까지 나에게 혼란을 일으키고 실제로 글꼴 파일이나 GD에서 버그를 의심하기 시작한 것입니다 , 어떤 제안? alt text http://far.id.au/jkf/so/bj.png alt text http://far.id.au/jkf/so/cheesecake.png alt text http://far.id.au/jkf/so/blah.png

alt text http://far.id.au/jkf/so/jb.png

코드 :

private function GenerateImage() 
{ 
    $height = 31; 
    $width = $this->Width; 

    $x = 10; 
    $y = 20; 

    $font_size = 10; 

    $text_colours = $this->ToRGB($this->TextColour); 
    $background_colours = $this->ToRGB($this->BackgroundColour); 

    $image = imagecreatetruecolor($width,$height); 

    $fg_color = imagecolorallocate($image,$text_colours[0],$text_colours[1],$text_colours[2]); 
    $bg_color = imagecolorallocate($image,$background_colours[0],$background_colours[1],$background_colours[2]); 

    imagefill($image,0,0,$bg_color); 

    imagettftext($image,$font_size,0,$x,$y,$fg_color,$this->Font,strtoupper($this->Title)); 

    return imagepng($image,$this->FilePath,9); 
} 
+0

을 비난했다. – Ikke

+0

죄송합니다. 기능을 업로드하겠다는 뜻입니다. 지금 있습니다. – Simon

+0

다른 글꼴을 사용하는 경우 arial과 같은 일반적인 글꼴이 제대로 작동합니까? –

답변

0

손상된 글꼴은 대부분 추측있어, 실제 코드없이