Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Dodanie tekstu na obrazek + ciągłe odświeżanie (co 1/2min)
Forum PHP.pl > Forum > PHP
kusek9
Witam zrobiłem sobie kod który pokazuje obrazek

  1. <?php
  2. header('Content-Type: image/png');
  3.  
  4. $cap = imagecreatefrompng('images/sygnatura.png');
  5. imagepng($cap);
  6. ?>


i teraz tak chciałbym do tego dodać tekst, znalazłem taki o to kod

  1. $color = ImageColorAllocate ($im, 0, 0, 0);
  2.  
  3.  
  4. ImageString($im, 2, 1, 1, "TUTAJ TEN TEKST", $color);


czy mam rozumieć że w $color te zera pod koniec to są klory rgb??
i czy w imagestrig liczby 2,1,1 to pozycja obrazka??


dodałem tamten kodzik wyżej lecz coś nie dziala :/

Look



I jak wywołać aby informacje będę się odświeżać, mam zamiar do tego dodać status serwer, akualną mapę liczbę graczy, mam już do tego gotowe funkcje lecz coś nie mogę dodać tego tekstu ;/


Z góry Dziękuje za pomoc smile.gif
Szadow
Ja polecam Imagettftext:
Dajesz czcionke tam gdzie masz ten plik php i używasz:

  1. array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

Przykład:
  1. imagettftext($im,ROZMIAR,KAT,X,Y,$color,"nazwaczcionki.ttf","TEXT")





Co do kolorów to RGB - 255,255,255 da biały a 0,0,0 da czarny smile.gif

Jeśli ci tak zależy na ImageString to http://pl.php.net/manual/pl/function.imagestring.php

Pozdrawiam.
markonix
Co do odświeżania za każdym razem wywołany obrazek będzie tworzony od nowa więc odświeżanie będzie samoistne.
Ten trik wykorzystuje się często na Allegro w dostępności jakiegoś przedmiotu np. kodów.

Jeśli obrazek ma się odświeżać co kilka sekund na stronie bez jej odświeżania to ajax, lub po prostu JS (łatwiej w jQuery) i odświeżanie elementu div w którym będzie umieszczony ten obrazek. W jQuery to load().
kusek9
to mi coś nie chce zadziałać

  1. <?php
  2. header('Content-Type: image/png');
  3. $im = imagecreatefrompng('images/sygnatura.png');
  4. imagepng($im);
  5.  
  6. $color = ImageColorAllocate ($im, 255, 255, 255);
  7. imagettftext($im,10,1,10,10,$color,"arial.ttf","TEST");
  8.  
  9.  
  10.  
  11. ?>


mam tak, dawałem różne koordynaty i dalej nic
Szadow
Czy ariel.ttf jest tam gdzie ten plik php? (może chodziło ci o arial?)
2. Spróbuj użyć imagepng na końcu.
kusek9
z tym ariel to źle napisałem ^^ miało być arial ( i jest) tak arial.ttf jest na serwerze

jak dam imagepng na koniec to wywala mi

Kod
Obrazek "http://frajeros.com/4gutaj/sygnatura.php" nie może zostać wyświetlony, ponieważ zawiera błędy.
Szadow
To otwórz plik który generuje obrazek.
Np jak używasz <img src="obrazek.php" /> to otwórz obrazek.php i powinny ci się wyświetlić błędy.
kusek9
zero błędów ;/

dodałem jeszcze imagedestroy, ale nic nie dało, jakiś inny pomysł? ^^
Szadow
Jak wchodzę w http://frajeros.com/4gutaj/sygnatura.php to nic nie widzę.
Co wypisujesz?
Może pokażesz kod?
kusek9
jak nic? ohmy.gif mi się wyświetla obrazek


  1. <?php
  2. header('Content-Type: image/png');
  3.  
  4. $im = imagecreatefrompng('images/sygnatura.png');
  5. Imagepng($im);
  6.  
  7. $color = ImageColorAllocate ($im, 255, 255, 255);
  8. imagettftext($im,10,3,10,10,$color,"arial.ttf","TEST");
  9.  
  10. ImageDestroy ($im);
  11.  
  12. ?>


kodu to nie ma za wiele haha.gif ^^
Szadow
Znaczy żadnych błędów smile.gif
Jak używasz imagepng przed dodaniem tekstu to jak może go dodać? daj imagepng przed destroy.....
PS: Jak chcesz robic sygnatury to je rób do pliku: imagepng($im,"nazwapliku.png);
kusek9
nie mogę dać imagepng za imagetext bo wywala ten o to error

Kod
Obrazek "http://frajeros.com/4gutaj/sygnatura.php" nie może zostać wyświetlony, ponieważ zawiera błędy.


wejdź teraz w ten link
Szadow
Nierozumiesz... jeśli dajesz imagepng (czyt. rysowanie obrazka) to go wyświetlasz a potem chcesz dodawać tekst

EDIT: Jeśli wyświetla błędy, daj header w komentarz i otwórz plik php generujący obrazek. Wtedy pojawią się błędy.
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.