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 . Oto taki przykładowy kod:
<?php # Dołączamy plik Graphix include '../Graphix.class.php'; try { # Tworzymy nowy obiekt $graphix = new Graphix(); # Wczytujemy obrazek $graphix->load('water.jpg'); } # Ten wyjątek występuje kiedy próbujemy wczytać obrazek, który nie istnieje catch(FileExistsException $e) { } # Wyjątek występuje kiedy na serwerze nie jest zainstalowany GD. Jeśli jesteś pewien że masz zainstalowane GD, możesz to wyciąć catch(ExtenstionNotInstalled $e) { } # Tworzymy kolory $graphix->createColor('czerwony', 255, 0, 0); $graphix->createColor('zielony', 0, 255, 0); $graphix->createColor('niebieski', 0, 0, 255); $graphix->createColor('dzikiroz', 255, 0, 255); # Tworzymy punkty: pozycja elipsy i jej rozmiar (szerokość i wysokość) $pos = new Point(150, 80); $size = new Point(50, 50); # Rysujemy elipsę i koło $graphix->ellipse($pos, $size, 'czerwony'); $graphix->circle(new Point(220, 180), 50, 'zielony', FILLED); # Piszemy tekst na ekranie $graphix->write("This text has been made by Graphix\n(for real by GD)!", 13, new Point(10,300), 'magnata', 'arial.ttf'); # Używamy filtra pixelate $fPixelate = new Filter(Filter::Pixelate); $fPixelate->setArg(PIXELATE_SIZE, 5 ); $graphix->filter($fPixelate); # Wyświetlamy w formacie png $graphix->render('png'); ?>
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.