GD vs ImageMagick vs Gmagick dla JPG? [Zamknięte]

91

Jestem na dobrej drodze, aby zrezygnować z GD za manipulowanie obrazem w mojej witrynie - to okropne.

Wszyscy mówią, że używają ImageMagick, ponieważ są lepsi niż GD, ale co z ImageMagick vs Gmagick ( szwajcarski scyzoryk do przetwarzania obrazu )?

Zend ma ładny artykuł http://devzone.zend.com/article/10531, w którym o nich mowa.

Zanim przejdę do ImageMagick, czy jest jakaś motywacja, aby zamiast tego używać gmagicka?

(PHP 5.3+)

Edycja: Co jest złego w pytaniu, które jest lepsze między 2 bibliotekami? Myślę, że to uczciwe pytanie. Gdyby ktoś mógł wytłumaczyć zalety jednej biblioteki nad drugą, pomogłoby mi i innym osobom czytającym to pytanie. Po co zamykać takie pytanie ??

Edit2: Dla każdego, kto pyta, co mam zrobić: myślę, że jest to nieświadome: użytkownicy przesyłają obrazy (niż może to być png / gif / bmp w / e) Muszę przekonwertować plik JPG, a następnie zapisać go w bazie danych, ostatecznie jeśli tak jest zbyt duże, muszę nieco zmniejszyć ich rozmiar.

Dzięki

dynamiczny
źródło
1
Dla osób ze zbyt łatwym przyciskiem zamykania: nie ma na to żadnego pytania ani odpowiedzi
dynamiczny
1
@col: Chcę tylko wiedzieć, co jest lepsze ... Mogę powiedzieć, że ImageMagick jest lepszy niż GD, a teraz chciałbym porównać komunikatory z G.magick .. To uczciwe pytanie.!
dynamiczny
@col: a jeśli znasz jakąś motywację do używania jednego zamiast drugiego, możesz udzielić odpowiedzi. Naciskanie przycisku Zamknij, gdy ktoś nie lubi pytania, jest całkowicie bezużyteczne!
dynamiczny
Zgadzam się z pułkownikiem. Odpowiednie narzędzie do pracy. Jeśli nie znamy zadania, nie można określić narzędzia.
Wrikken
8
To ważne pytanie.
jini

Odpowiedzi:

50

Według Wikipedii GraphicsMagick to rozwidlenie z ImageMagick 5.5.2.

O ile wiem, GMagick nie zawiera żadnych nowych funkcji; widelec koncentruje się na lepszych osiągach i stabilności, co, jak mówi @Col, powinno się przetestować i porównać.

Z punktu widzenia funkcji, jeśli biblioteka jest potrzebna do czegoś więcej niż tylko podstawowych operacji zmiany rozmiaru i kadrowania, osobiście wolałbym ImageMagick każdego dnia ze względu na ogromną, dobrze udokumentowaną i ilustrowaną bibliotekę tysięcy przykładów, które działają bardzo dobrze. Wydaje się, że GraphicsMagick nie ma dokumentacji o podobnej jakości.

Jest również prawdopodobne, że GMagick nie ma żadnych nowych funkcji, które zostały dodane do komunikatorów internetowych od wersji 5.5.2. Może warto sprawdzić dzienniki zmian ImageMagick, czy nie brakuje Ci czegoś, czego potrzebujesz.

Mówiąc bardzo subiektywnie, ImageMagick jest zdecydowanie bardziej popularną i znaną biblioteką i prawdopodobnie znajdziesz dla niej więcej wsparcia, przykładów i skryptów. Wątpię też, czy różnice w wydajności naprawdę będą miały znaczenie w większości przypadków użycia - z mojego doświadczenia z ostatnich dziesięciu lat wynika, że ​​komunikator internetowy nie jest najszybszą, ale też nie najwolniejszą z bibliotek przetwarzających grafikę i doskonale nadaje się do większości codziennych zastosowań .

Pekka
źródło
8

Czego nie lubisz w GD? Czy to API, czy brakuje w nim funkcji, czy jest to wydajność?

Być może możesz sobie wyobrazić bibliotekę graficzną - ma ona ładne, czyste API OOP i może używać GD, ImageMagick i GraphicsMagick jako "zaplecza". W ten sposób możesz również przetestować, która biblioteka ma najlepszą wydajność, bez konieczności zmiany kodu obróbki obrazu.

chiborg
źródło
5
Jednym z problemów związanych z gd jest użycie pamięci. W przypadku formatu JPEG o rozmiarze 12 MB utworzy zasób 100 MB. Również jeśli chcesz szybko zmienić rozmiar, przyciąć lub kciuk (przyciąć i zmienić rozmiar), będziesz miał od razu te narzędzia. Nie wspominając o wszystkich efektach.
catalinux,