2010-05-15 3 views
1

글꼴 (ttf 또는 otf 파일)을 가져와 다른 글꼴로 된 텍스트 이미지를 생성하는 기능이 있습니다.이미지에 텍스트 맞추기

내가 가진 문제는 글꼴 크기, 글꼴 유형 및 텍스트의 양에 관계없이 텍스트를 이미지에 맞게 만들 수있는 방법을 찾기 위해 노력하고 있습니다.

이미지가 길거나 넓지 않기 때문에 약간의 텍스트를 자르지 않고 다른 글꼴의 텍스트가 포함되도록 이미지 사각형 변수를 만들려고했습니다.

여기에 현재 가지고있는 기능이 있습니다. 이미지의 너비를 결정하기 위해 문자 수를 사용해 보았습니다. 그러나 일부 글꼴 및 크기의 경우에는 여전히 잘릴 수 있습니다.

function generate_image($save_path, $text, $font_path){ 

    $length = strlen($text) * 15; 

    // Create the image 
    $im = imagecreatetruecolor($length, 40); 

    $white = imagecolorallocate($im, 255, 255, 255); 
    $grey = imagecolorallocate($im, 128, 128, 128); 
    $black = imagecolorallocate($im, 0, 0, 0); 

    imagefilledrectangle($im, 0, 0, $length, 40, $white); 

    $font = $font_path; 

    imagettftext($im, 30, 0, 0, 25, $black, $font, $text); 

    if(imagepng($im, $save_path)){ 

     $status = true; 

    }else{ 

     $status = false; 

    } 

    imagedestroy($im); 

    return $status; 

} 

어떤 도움

답변

3
+0

나는 OTF 글꼴 유형, 단지 TTF 작동하지 않습니다이 추측하고 여러분 모두 감사합니다? 비슷한 기능을 구현하려면 어떻게해야합니까? – Abs

+1

imagettftext()가 ttf뿐만 아니라 opentype 글꼴에서도 작동한다면, otf가 ttf의 확장 인 경우 imagettfbbox()도 잘 동작 할 것으로 기대합니다. –

관련 문제