Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]imagettftext nie z obrazu tylko z tekstu., jak poprawnie wykonać tworzenie JPG z tekstu.
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


Borykam się z pewną sytuacją, chcę stworzyć JPG tylko z tekstu.

  1. $font = 'arial.ttf';
  2. $font_size = 12;
  3. $text = 'jakis tekst';
  4. $h = 650;
  5. $w = 60;
  6.  
  7. $ob = ImageCreate($h,$w);
  8. $text_color= ImageColorAllocate($ob,104,104,104);
  9. $bg_color = imagecolorallocate($ob, 208, 208, 208);
  10. $bg_color2 = imagecolorallocate($ob, 229, 229, 229);
  11.  
  12. ImageFill($ob,0,0,$bg_color);
  13. imagettftext($ob, $font_size, 0, 10, 17, $text_color, $font, 'test 1:');
  14. header('Content-type: image/png');
  15. ImagePng($ob);
  16. ImageDestroy($ob);


Obrazek zostaje stworzony, teraz chcę dodać drugi tekst do tego obrazka ale z tłem bg_color2.

  1. ImageFill($ob,0,0,$bg_color);
  2. imagettftext($ob, $font_size, 0, 10, 17, $text_color, $font, 'test 1:');
  3. ImageFill($ob,0,0,$bg_color2);
  4. imagettftext($ob, $font_size, 0, 10, 47, $text_color, $font, 'test 2:');


Nie przynosi zamierzonego efektu. Ogólnie chcę osiągnąć coś takiego , że pod każdym tekstem będzie na przemian inny bg_color.
Reasumując będzie z 10 "rowów" na przemian z innym tłem, szerokość i wysokość każdego ta sama.

Teraz kilka pytań :
- wysokość tego "rowu" gdzie tekst będzie za długi powiększy mi o + 30 px. Rozumiem, że muszę sobie wyliczyć ile tekstu mi wejdzie (chyba strlen ?), potem zliczać wpisany tekst i jeśli wyjdzie więcej to tworzyć + 30 px ? tak

- jak i czy jest możliwość by każdy "row" miał border 1 px ?

Ten post edytował casperii 19.07.2015, 16:32:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 16:18