Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [lib][gd] Edycja grafiki
Forum PHP.pl > Inne > Oceny
VGT
W potrzebie ulatwienia sobie pracy z wszelkiego typu skalowaniem zdjec / tworzeniem miniatur itp kilka lat temu stworzylem sobie prosta klase do tego typu dzialan.

Po ostatnim lifcie, ktory otrzymala, postanowilem przy okazji ja udostepnic, aby zebrac troche opinii, co warto poprawic.

Jesli komus sie przyda cos w tym stylu, zachecam do uzywania. smile.gif

Funkcjonalnosci, jakie oferuje, mozna obejrzec pod adresem: http://php.vgtworld.pl/class/vgtgd
Paczka do sciagniecia: http://php.vgtworld.pl/pliki/vgtgd.tgz
potreb
Kiedyś szukałem biblioteki dla GD, wg mnie super zrobiona, obiektowo a po drugie przynajmniej są komentarze w plikach. Pytanie, na jakiej licencji jest udostępniana biblioteka.
VGT
Fakt, zapomnialem o kwestii licencji winksmiley.jpg
Ogolnie nie mam nic przeciwko uzywaniu tej biblioteki gdziekolwiek, wiec mysle ze licencja LGPL nie bedzie w zaden sposob uciazliwa dla uzytkownikow (dopisalem licencje w dziale download). Chyba, ze moze ona stwarzac problemy przy tworzeniu dodatkowych klas efektow na potrzeby wlasnego oprogramowania? (nigdy do konca nie ogarnialem tych kruczkow prawnych) Nie chce tego w zaden sposob ograniczac, wiec wtedy ewentualnie licencja dzielona: LGPL na lib'a i BSD na klasy efektow smile.gif
erix
Cytat
Druga możliwość, to skorzystanie z metody thumbnail2(), która utworzy miniaturę o wymaganym rozmiarze niezależnie od proporcji obrazka źródłowego.

Ja bym po prostu zrobił to jako parametr do thumbnail(), trochę mało to intuicyjne. winksmiley.jpg

A tak o, to całkiem nieźle, nie ściągąłem źródeł. winksmiley.jpg
VGT
Cytat(erix @ 16.04.2010, 12:28:25 ) *
Ja bym po prostu zrobił to jako parametr do thumbnail(), trochę mało to intuicyjne. winksmiley.jpg

Podzial na dwie metody istanial juz od dawna i bylo to dla mnie tak naturalne, ze faktycznie nawet nie pomyslalem o przebudowaniu tego przy odswiezaniu biblioteki.

Najwygodniejszym rozwiazaniem byloby przeciazanie metody, ale o ile daje sie to w php zasymulowac, to jednak kod wewnatrz metod troche przestalby mi sie podobac. Ale pomysle nad jakims rozwiazaniem tego, dzieki za sugestie smile.gif
Crozin
PHP nie obsługuje przeciążania metod, jednakże w metodzie thumbnail możesz sprawdzić tylko jaki "wariant" wybrano i zwrócić wynik jakiejś wewnętrznej metody (odpowiedzialnej za dany wariant)

  1. ...
  2. public function thumbnail($a, $b, $c, $isThumbnail2 = false ){
  3. return $isThumbnail2 ? $this->thumbnail2($a, $b, $c) : $this->thumbnail1($a, $b, $c);
  4. }
  5.  
  6. protected function thumbnail1($a, $b, $c) {
  7. //...
  8. }
  9.  
  10. protected function thumbnail2($a, $b, $c) {
  11. //...
  12. }
erix
  1. public function thumbnail($a, $b, $c, $isThumbnail2 = false ){

No tak, fajnie że w podpowiedzi będzie to intuicyjne. $scale = false i będzie przynajmniej logicznie. winksmiley.jpg
Crozin
@erix: Nawet nie kojarzyłem czego dotyczyć miał ten dodatkowy parametr to nazwę zmiennej dałem jaką dałem... Nazwy metod zresztą nie lepsze - ale to przykład... winksmiley.jpg
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.