Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][GD] Tekst na obrazku
Forum PHP.pl > Forum > Przedszkole
Fifi209
A więc postanowiłem zrobić generator sygnaturek. Przerobiłem troszkę kod z manuala i gotowe...

  1. <?php
  2. // Set the content-type
  3.        header('Content-type: image/png');
  4.  
  5.        // Create the image
  6.        $im = imagecreatetruecolor(475, 105);
  7.  
  8.        // Create some colors
  9.        $white = imagecolorallocate($im, 255, 255, 255);
  10.        $grey = imagecolorallocate($im, 128, 128, 128);
  11.        $black = imagecolorallocate($im, 0, 0, 0);
  12.        $red = imagecolorallocate($im, 176, 0, 4);
  13.  
  14.  
  15.        // The text to draw
  16.        $text[] = 'APO 7.6 -';
  17.        $text[] = $_GET['nick'];
  18.        $text[] = 'Level: '.$info['poziom'];
  19.        $text[] = 'Mlvl: '.$info['mlvl'];
  20.            
  21.        // Replace path by your own font path
  22.        $font = 'D:WINDOWSFontsarial.ttf';
  23.  
  24.        // Add the text
  25.        imagettftext($im, 18, 0, 130, 32, $red, $font, $text[0]);
  26.        imagettftext($im, 16, 0, 240, 32, $white, $font, $text[1]);
  27.        imagettftext($im, 16, 0, 180, 56, $white, $font, $text[2]);
  28.        imagettftext($im, 16, 0, 190, 80, $white, $font, $text[3]);
  29.  
  30.        // Using imagepng() results in clearer text compared with imagejpeg()
  31.        imagepng($im);
  32.        imagedestroy($im);
  33. ?>


Lecz pojawił się problem, obrazek jest dla mnie zbyt "prosty". Chciałbym przynajmniej jakoś zaokrąglić brzegi lub urozmaicić tło.
Chciałbym nałożyć tekst na obrazek, niestety dużo tego w necie lecz nigdzie nie ma konkretnej odpowiedzi, zrób tą i tą funkcją tak i tak. Jest jeden polski artykuł ale na płatnej stronie to podziękowałem.

Z góry dziękuję za wszystkie cenne porady.
jareeny
A nawet tutaj na forum masz taką klase winksmiley.jpg

Temat: php_Biblioteka_do_obslugi_zdjec_PHP_5__GD_2
marcio
CO do tekstu na obrazek kiedys tez szukalem cos znalazlem i zrobilem sobie taka funkcje:
  1. <?php
  2. function text_on_img($plik,$pozycja, $tekst, $alpha, $color) {
  3.  
  4. header("Content-type: image/jpg");
  5. $image2 = imagecreatefromjpeg($plik);
  6. $plik_w = imagesx($image2);
  7. $plik_h = imagesy($image2);
  8.  
  9. if($pozycja == "tl") {
  10.  
  11. $od_x = 0;
  12. $od_y = 0;
  13.  
  14. }
  15.  
  16. else if($pozycja == "tr") {
  17.  
  18.  $od_x = $plik_w - strlen($tekst) * 10;
  19.  $od_y = 0;
  20.  
  21. }
  22.  
  23.  else if($pozycja == "bl") {
  24.  
  25.   $od_x = 0;
  26.   $od_y = $plik_h - strlen($tekst) * 10;
  27. }
  28.  
  29.  else if($pozycja == "br") {
  30.  
  31.    $od_x = $plik_w - strlen($tekst) * 10;
  32.    $od_y = $plik_h - strlen($tekst) * 10;
  33. }
  34.  
  35. if($color == 'black') {
  36.  
  37. $kolor = 0;
  38. $kolor1 = 0;
  39. $kolor2 = 0;
  40.  
  41. }
  42.  
  43. else if($color == 'white') {
  44.  
  45.  $kolor = 255;
  46.  $kolor1 = 255;
  47.  $kolor2 = 255;
  48.  
  49. }
  50.  
  51.   else if($color == 'yellow') {
  52.  
  53.   $kolor = 255;
  54.   $kolor1 = 255;
  55.   $kolor2 = 0;
  56.  
  57. }
  58.  
  59.    else if($color == 'red') {
  60.  
  61.     $kolor = 255;
  62.     $kolor1 = 0;
  63.     $kolor2 = 0;
  64. }
  65.  
  66.      else if($color == 'blue') {
  67.  
  68.       $kolor = 0;
  69.       $kolor1 = 0;
  70.       $kolor2 = 255;
  71. }
  72.  
  73. if($alpha == 1) $text_color = imagecolorallocatealpha($image2, $kolor, $kolor1, $kolor2, 100);
  74.  
  75. else $text_color = imagecolorallocate($image2, $kolor, $kolor1, $kolor2);
  76.  
  77. imagestring($image2, 5, $od_x, $od_y, $tekst, $text_color);
  78. imagejpeg($image2);
  79. imagedestroy($image2);
  80.  
  81. }
  82.  
  83. //Wywolujesz:
  84. text_on_img('nazwa pliku','pozycja:tr/tl/br/bl', 'text na img', 0/1, 'kolor:black/white/red/yellow/blue')
  85. ?>
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.