imagettftext를 사용하여 PNG에 쓸 수있는 배열의 단어 목록이 있습니다.PHP : imagettftext & imagettfbbox - 단어의 충돌 감지
imagettfbbox는 다음 단어의 위치를 결정하는 데 사용됩니다.
이미 기록 된 이전 단어와 중복됩니다 이미지에 쓰기를 시도하고 현재 단어 (나는 imagettfbbox 갈 방법 가정?) 만약 내가 확인하고 싶은
이 다음은 나는 코드 (! 나는이 작업을 수행하는 방법에 주위에 내 머리를 얻을 수 없다)과 같을 것이다 가정 무엇 :
If the current word will overlap with previous word
Position current word further down an ever increasing spiral until it doesn't collide
을 순간 내 중복없이 이미지에 대한 모든 단어를 쓸 것입니다 코드 그러나 어떤 각도가없는 (단어 충돌없이 미래에 처리 할 수있는 기능)
$handle = ImageCreate(1000, 500) or die ("Cannot Create image");
//Background Colour
$bg_color = ImageColorAllocate($handle, 0, 150, 255);
$txt_color = ImageColorAllocate($handle, 0, 0, 0);
// First we create our bounding box for the first text
$bbox = imagettfbbox($fontsize, $angle, $font, $word);
// Set X Coord
$x = ($bbox[2] - $bbox[0]);
// Set Y Coord
$y += ($bbox[7] - $bbox[1]);
// Write word to image
ImageTTFText($image, $fontsize, $angle, $x, $y, $txt_color, $font, $word);
이 코드는 꽤 정적이며 이미지의 크기로 단어를 한정하지 않을 것입니다.
어떤 도움을 주시면 감사하겠습니다. 저는 지난 2 주 동안이 문제에 매달 렸으며 앞으로 나아갈 것입니다!
나는이 방법을 사용해 보았지만 나에게는 여전히 효과가없는 것 같다. 프로그램에서 수행 한 작업을 더 많이 보여줄 수 있습니까? 감사합니다 – Jon
당신은 그 코드에서'$ dx'와'$ dy'가 결코 사용되지 않는다는 것을 알았습니다 ... 실제로'$ x'와'$ y'에서 빼기는했지만 그 줄은 주석으로 처리되었습니다 그래서 나는 그 문제에 대해 몇 가지 문제가 있는지 궁금해.여기 내 모든 방법이있다. 클래스 변수를 많이 사용하지만 사용자의 요구에 맞게 일치해야하는 항목에 대해 자체적으로 설명해야합니다. 나는 각 줄을 쓴 후에 줄 간격 설정에 의해 증가하는 줄에 더 관심이있을 것이라고 생각한다. 그것은 당신을 위해 잘 주석되어야합니다. http://pastebin.com/HrwNn875 – Demonslay335