Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Łączenie literowych obrazków w jeden
Xadrian
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 28.06.2010

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


Witam wszystkich,

Pisząc skrypt, który ma połączyć literki zapisane w obrazku, napotkałem się z małym problemem. Mianowicie zwracany jest nie istniejący obrazek, a dokładniej jego ikonka. Podaję Wam napisany przeze mnie skrypt, i proszę o komentarze co jest nie tak.

  1. <?php
  2. function getLetterFile($letter)
  3. {
  4. if($letter == " ")
  5. {
  6. return "letters/empty.bmp";
  7. }
  8. if(preg_match('/[^A-Z]/', $letter))
  9. {
  10. return "letters/".strtolower($letter)."m.bmp";
  11. }
  12. elseif(preg_match('/[^a-z]/', $letter))
  13. {
  14. return "letters/".strtolower($letter)."d.bmp";
  15. }
  16. elseif(preg_match('/[^0-9]/', $letter)){
  17. return "letters/".$letter.".bmp";
  18. }
  19. else
  20. {
  21. echo "2";
  22. return false;
  23. }
  24. }
  25.  
  26. // Przygotowanie zmiennych do pętli
  27. $split = str_split($text);
  28. $y = (count($split) - 1);
  29. $width = 0;
  30. $imagesize = getimagesize(getLetterFile($split[$x]));
  31.  
  32. // Ustalanie całkowitej szerokości obrazu
  33. for($x = 0; $x <= $y; $x++){
  34. $width = $width + $imagesize[0];
  35. }
  36.  
  37. // Tworzenie obrazu o ustalonych rozmiarach
  38. $image = imagecreate($width, 13);
  39.  
  40. // Zerowanie zmiennej z końcem obrazu po ostatniej literze
  41. $curWidth = 0;
  42.  
  43. // Łączenie obrazków w całość
  44. for($z = 0; $x <= $y; $z++)
  45. {
  46. $output = imagecopymerge($image, getLetterFile($split[$z]), $curWidth, 0, 0, 0, $imagesize[0] , $imagesize[1] , 0);
  47. }
  48.  
  49. // Wyświetlanie obrazka i czyszczenie pamięci
  50. header('Content-Type: image/gif');
  51. imagegif($output);
  52.  
  53. imagedestroy($output);
  54. ?>


Dodam tylko, że getLetterFile($letter) działa bez problemu, również pierwsza pętla zwraca właściwą szerokość.

Liczę na pomoc i pozdrawiam,
Xadrian.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 20:56