Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak poprawić jakość napisów dodawanych przez GD2?
Forum PHP.pl > Forum > PHP
kowal199306
Witam zrobiłem sobie serwis na wzór strony demotywatory.pl i mam pewien problem,ponieważ napisy dodane pod obrazkami są dosyć niewyraźne i dziwne odstępy się czasami robią. Zresztą sami zobaczcie tutaj. W jaki sposób mogę poprawić ich jakość, proszę o jakieś podpowiedzi, pozdrawiam.

  1. // DANE DO RYSOWANIA
  2. $obrazek = $folder.$p_nazwa_zm;
  3. $demot = imagecreatefromjpeg($obrazek);
  4.  
  5. $obrazek_szerokosc = "640";
  6. $obrazek_wysokosc = imagesy($demot);
  7.  
  8. $szerokosc = 740;
  9. $wysokosc = $obrazek_wysokosc + 40 + 120;
  10.  
  11. $image2 = imagecreatetruecolor($szerokosc, $wysokosc);
  12.  
  13. $tlo = imagecolorallocate($image2, 26, 26, 26);
  14. $szary = imagecolorallocate($image2, 170, 170, 170);
  15. $bialy = imagecolorallocate($image2, 220, 220, 220);
  16.  
  17. $font1 = 'verdana.ttf';
  18. $rozmiar1 = "10";
  19. $font2 = 'times.ttf';
  20. $rozmiar2 = "24";
  21. $font3 = 'tahoma.ttf';
  22. $rozmiar3 = "12";
  23.  
  24. $stopka = $ustawienia['adres'];
  25.  
  26. $wymiary1 = imagettfbbox($rozmiar1, 0, $font1, $stopka);
  27. $x1_1 = $wymiary1[0];
  28. $x1_2 = $wymiary1[2];
  29. $x1 = $x1_2 - $x1_1;
  30. $x1_srodek = ($szerokosc - $x1)/2;
  31.  
  32. $wymiary2 = imagettfbbox($rozmiar2, 0, $font2, $tytul);
  33. $x2_1 = $wymiary2[0];
  34. $x2_2 = $wymiary2[2];
  35. $x2 = $x2_2 - $x2_1;
  36. $x2_srodek = ($szerokosc - $x2)/2;
  37.  
  38. $wymiary3 = imagettfbbox($rozmiar3, 0, $font3, $opis);
  39. $x3_1 = $wymiary3[0];
  40. $x3_2 = $wymiary3[2];
  41. $x3 = $x3_2 - $x3_1;
  42. $x3_srodek = ($szerokosc - $x3)/2;
  43.  
  44. if($x3 > ($szerokosc - 40)) //do poprawy
  45. {
  46. $opis_tablica = explode(" ", $opis);
  47. $ile = count($opis_tablica);
  48. imagettftext($image2, $rozmiar3, 0, $x3_srodek, $wysokosc-55, $bialy, $font3, $opis);
  49. }
  50. else
  51. {
  52. imagettftext($image2, $rozmiar3, 0, $x3_srodek, $wysokosc-55, $bialy, $font3, $opis);
  53. }
  54.  
  55. // RYSOWANIE OBRAZKA
  56. imagefill($image2, 0, 0, $tlo);
  57. imagefilledrectangle($image2, 48, 38, 692, $obrazek_wysokosc + 42, $bialy);
  58. putenv('GDFONTPATH=' . realpath('.'));
  59. imagettftext($image2, $rozmiar2, 0, $x2_srodek, $wysokosc-85, $bialy, $font2, $tytul);
  60. //imagettftext($image2, $rozmiar3, 0, $x3_srodek, $wysokosc-55, $bialy, $font3, $opis);
  61. imagettftext($image2, $rozmiar1, 0, $x1_srodek, $wysokosc-10, $szary, $font1, $stopka);
  62. imagecopy($image2, $demot, 50, 40, 0, 0, $obrazek_szerokosc, $obrazek_wysokosc);
  63.  
  64. // WYŚWIETLANIE OBRAZKA
  65. Header('Content-type: image/png');
  66. imagejpeg($image2, $folder.$p_nazwa_zm);
  67.  
  68. // PORZĄDKI
  69. imagedestroy($image2);


ref
fander
jak ustawiłeś że czcionka ma kolor szary to na czarnym tle będziesz widoczna jako rozmazana.
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.