Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Graphix, Prosta klasa GD
Szadow
post 25.03.2011, 20:29:18
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 6
Dołączył: 21.11.2010

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


Witajcie forumowicze!

Chciałbym wam przedstawić moją prostą i zarazem nieskomplikowaną klasą Graphix którą napisałem z nudów (jak i w celach edukacyjnych). a postanowiłem wystawić na łamach forum bo uznałem że komuś może się przydać. Ponadto czyni kod (wg. mnie) czytelniejszym i ładniejszym pomijając to że część funkcji to wrappery wink.gif. Oto taki przykładowy kod:

  1. <?php
  2. # Dołączamy plik Graphix
  3. include '../Graphix.class.php';
  4.  
  5. try
  6. {
  7. # Tworzymy nowy obiekt
  8. $graphix = new Graphix();
  9.  
  10. # Wczytujemy obrazek
  11. $graphix->load('water.jpg');
  12. }
  13. # Ten wyjątek występuje kiedy próbujemy wczytać obrazek, który nie istnieje
  14. catch(FileExistsException $e)
  15. {
  16. echo $e->getMessage();
  17. }
  18. # Wyjątek występuje kiedy na serwerze nie jest zainstalowany GD. Jeśli jesteś pewien że masz zainstalowane GD, możesz to wyciąć
  19. catch(ExtenstionNotInstalled $e)
  20. {
  21. echo $e->getMessage();
  22. }
  23.  
  24. # Tworzymy kolory
  25. $graphix->createColor('czerwony', 255, 0, 0);
  26. $graphix->createColor('zielony', 0, 255, 0);
  27. $graphix->createColor('niebieski', 0, 0, 255);
  28. $graphix->createColor('dzikiroz', 255, 0, 255);
  29.  
  30.  
  31. # Tworzymy punkty: pozycja elipsy i jej rozmiar (szerokość i wysokość)
  32. $pos = new Point(150, 80);
  33. $size = new Point(50, 50);
  34.  
  35. # Rysujemy elipsę i koło
  36. $graphix->ellipse($pos, $size, 'czerwony');
  37. $graphix->circle(new Point(220, 180), 50, 'zielony', FILLED);
  38.  
  39. # Piszemy tekst na ekranie
  40. $graphix->write("This text has been made by Graphix\n(for real by GD)!", 13, new Point(10,300), 'magnata', 'arial.ttf');
  41.  
  42. # Używamy filtra pixelate
  43. $fPixelate = new Filter(Filter::Pixelate);
  44. $fPixelate->setArg(PIXELATE_SIZE, 5 );
  45.  
  46. $graphix->filter($fPixelate);
  47.  
  48.  
  49.  
  50. # Wyświetlamy w formacie png
  51. $graphix->render('png');
  52. ?>


Download: Repozytorium na GitHub'ie

Dokumentacja: Dokumentacja

To chyba wszystko. A co do kodu to dla niektórych kod może być gorszy od podstawowego (GD) ale to zależy wyłącznie od własnych upodobań.
Proszę o komentarze i wasze opinie.

Ten post edytował Szadow 26.03.2011, 12:35:44


--------------------
Pomogłem? Kliknij przycisk Pomógł. ;)
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:48