GD에서 imagettftext 사용시 주의점
GD에서 imagettftext() 사용시 주의점
- 현상
- 큰 이미지에 imagettftext() 를 사용할 경우 이미지 생성속도가 매우 느려질 수 있다.
-
약 2000건정도로 imagettftext() 를 사용해서 문자열을 적었는데 … 이미지 크기에 따라서 엄청나게 느려지더라(1분이 넘어가기도 함)
- 해결책
- 큰 이미지에 바로 적지 말고 작은 이미지를 만들어 imagettftext()를 사용해 글을 적은 후 그 작은 이미지를 큰 이미지에 붙여라.
- 왜인지 모르겠지만
작은 이미지에 사용한 imagettftext()가 휠씬 빠르고,
imagettftext() 보다 imagecopyresampled() 쪽이 훨씬 빠르다. -
24.x초에서 1.x로 시간 단축 효과를 보았음.
- 주의점
- imagettftext() 로 생성되는 글자열의 크기를 모르니깐, 이거 대충 계산해서 작은 이미지를 미리 만들어야한다… 이게 문제지.
- imagettfbbox()로 글자열의 크기 정보를 알아올 수 있다.