2010-04-06 6 views
2

특정 이미지에 텍스트를 추가하려고합니다. 완벽하게 작동하지만 이미지의 품질은 특히 papyrus.ttf 글꼴의 경우 낮습니다. 이미지의 텍스트 품질을 어떻게 향상시킬 수 있습니까? 하지만 출력물을 인쇄하려면 고품질이 필요합니다. 내 코드는 다음과 같습니다. 매우 간단합니다.php gd 이미지 품질

header("Content-Type: image/jpeg"); 
$im = imagecreatefromjpeg("cosmos.jpg"); 
$black = ImageColorAllocate($im, 0, 0, 0); 
Imagettftext($im, 14, 0, 10, 15, $black, 'papyrus.ttf', "Corey and Lisa "); 
Imagettftext($im, 14, 0, 10, 35, $black, 'papyrus.ttf', " 1994, june"); 
Imagejpeg($im, '', 100); 
ImageDestroy($im); 

다운로드 : imageTTFText이 품질에 실패 할 경우 http://wneeds.com/gdtest.zip

답변

5

, 시도하는 다음 단계는 ImageFTText()입니다. FreeType 라이브러리를 사용하여 글꼴을 렌더링합니다. 글꼴은 대개 훨씬 더 우수한 품질을 의미합니다. 가장 많이 사용되는 PHP를 설치하고 컴파일해야합니다. 함수를 호출하면 그 경우인지를 알 수 있습니다.

그렇지 않은 경우 다음 단계는 ImageMagick을 명령 줄이나 적절한 PHP 확장자를 통해 사용합니다. 그러나 먼저 Freetype을 사용해보십시오. 이미 충분할 수 있습니다.

+0

전적으로 동의합니다. 리소스에 신경 쓰지 않는다면 이미지를 필요한 것보다 크게 만들 수 있으며 필요한 크기로 축소 할 수 있습니다. 글꼴 크기를 약간 개선해야하지만 자원 낭비가 적습니다. –

+0

모두에게 감사드립니다. 나는 imagefttext()로 시도했다. 그러나 더 나은 품질을 얻지 못합니다. 전에 imagemagick을 사용하지 않았습니다. 그래서 나는 그것에 가야만한다고 생각합니다. 그러나 나는 하나님으로부터 더 많은 것을 기대하고있었습니다. 내가 제공 한 코드는 간단합니다.하지만 제 시스템에서는 동적 인 메시지로 동적 패킷을 만들었습니다. 그래서 나는 이미지 마술에 가면 많은 것을 바꿔야합니다. @pekka는 imageFTText()로 코드를 검사하고 출력을 확인할 수 있습니다. 무슨 일이 일어나고 있는지 알 수 있습니다. 나는 틀린 일을하고 있을지도 모른다. 나는 u가 근원을 바꾸고 저에게 간단한 해결책을주는 경우에 u에 고맙게 여길 것이다. 다시 한 번 감사드립니다. – apueee

+0

@apu 실제 라이브 예제의 일부 이미지와 이미지 모양을 함께 게시 할 수 있습니까? –