Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Teks na środku obrazka
Forum PHP.pl > Forum > PHP
ciniutek
Witam.
Mam problem. Otóż nie mogę nigdzie znaleźć jak zrobić aby tekst dodawany na obrazek poprzez ImageTTFText był wyśrodkowany tzn dodaje on od go od lewej stronie
Wygląda to tak:


A chciałbym, żeby dodawał się tak:


Pomoże ktoś ? smile.gif

Mój kod to :

  1. $font_size = 15;
  2. $tempValue = ""; //tutaj przechowamy tekst docelowy
  3. $sourceText = "".$_GET[tekst]."";
  4. $tempTab = array(); //tablica to przechowania kolejnych słów w tekście
  5. $tempTab = explode(' ',$sourceText); //dzielimy tekst po spacji
  6. $count=1; //licznik potrzebny do łamania wierszy
  7. foreach($tempTab as $word){ //dla każdego elementu tablicy (słowa)
  8. $tempValue .= $word." "; //dodajemy słowo i spację po nim
  9. if(strlen($tempValue)<270){ //jeśli zdanie ma mniej niż 170 znaków //(załóżmy że tyle zmieści się na rysunku)
  10. if(strlen($tempValue)>=(40*$count)){ //i jeśli długość zdania jest// wielokrotnością licznika i liczbny 30,//gdzie 30 to liczba znaków w jednej linii na późniejszym rysunku
  11. $tempValue .= "\n\r"; //to w tym miejscu łamiemy linię co// spowoduje wyświetlenie się kolejnej linii tekstu w nowym wierszu
  12. $count++; //zwiększamy licznik
  13. }
  14. }
  15. }
  16. $obrazek = ImageCreateFromJpeg('para.jpg'); //tworzymy obiekt z pliku
  17. $cien = ImageColorAllocate($obrazek, 255, 255, 255); //ustawiamy kolor tekstu// na obrazku
  18. $fontColor = ImageColorAllocate($obrazek, 0, 0, 0); //ustawiamy kolor tekstu// na obrazku
  19.  
  20. ImageTTFText($obrazek, 30, 0, 82, 82, $fontColor, 'Amplify_PersonalUseOnly.ttf', $tempValue);
  21. ImageTTFText($obrazek, 30, 0, 80, 80, $cien, 'Amplify_PersonalUseOnly.ttf', $tempValue);
  22. ImageTTFText($obrazek, 42, 0, 200, 460, $cien, 'Amplify_PersonalUseOnly.ttf', "www.TakWiem.pl");
  23.  
  24. //umieszczamy tekst na odpowiedniej
  25. //pozycji (całą składnię polecenia ImageTTFText polecam poczytać na <a href="http://www.php.net" title="www.php.net">www.php.net</a>)
  26. imagejpeg($obrazek, 'papier-z-tekstem.jpg', 100); //zapisujemy obrazek do pliku
  27. imagedestroy($obrazek); //i usuwamy go z pamięci serwer
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.