![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jak otrzymujecie anti-aliasing w obrazkach uzyskanych dzięki GD? Biblioteka ta posiada funkcję imageantialias, jednak nie zdarzyło mi się jeszcze, by ta funkcja działała. Ja czasem robię obrazek kilkukrotnie większy niż pożądany i potem skaluję go z imagecopyresampled. Znacie jakieś inne sposoby, a może udało się komuś z powodzeniem użyć imageantialias? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok mogę napisać bzdurę ale...
Z tego co mi wiadomo to ta opcja działa jedynie na elementach, które sam "rysujesz"... Jeżeli tworzysz obrazek truecolor, włączasz antialias i rysujesz linie, kwadraty itp. to zadziała na nich antialias - nic mi nie wiadomo o czymś takim by to działało na całych obrazkach... Możesz spróbować to jednak obejść ale może się okazać zbyt męczące dla pamieci i serwera ;P Jeżeli antialias działa na linie itd to może też działać na wstawianie pojedynczych pixeli. Rób obrazek tak jak robisz do tej pory, tylko na końcu zrób jeszcze jeden nowy pusty obrazek o wymiarach tego wyjściowego i dosłownie pixel po pixelu spróbuj przerzucić każdy punkcik z jednego do drugiego (drugi musi mieć antialias) - wiem że może się to wydać szalony pomysł - ale kto wie może zadziała ;P -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zauważyłem coś dziwnego. Okazało się, że imageantialias działa, ale tylko na liniach i otwartych polygonach. Na otwartych elipsach ani na żadnych z "filled...()" nie działa.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czyli miałem rację jednak
![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem co miałeś na myśli pisząc "całych obrazkach". Dla pojedynczych pikseli nie ma prawa działać, bo piksel jako piksel nie wymaga anti-aliasingu. A jak narysujesz sobie cokolwiek piksel po pikselu, to to jest wciąż tylko zbitek pikseli.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok tu źle napisałem - z tymi pixelami mówiłem, że nie wiem czy to zadziała, ale skoro działa dla linii nic nie stoi na przeszkodzie robić linie 1x1 pikseli
![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie tak przypuszczałem. To gdzie miałeś rację?
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W tym, "że to działa tylko na linie i kwadraty itp."
![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem małe porównanie.
Jak widać imageantialias dobrze sobie radzi z liniami, a druga metoda z pełnymi obszarami. Metoda 2. wraz z większym ratio zmniejszania/zwiększania rysuje jaśniejsze linie, co jest zrozumiałe. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:59 |