Jak zmniejszyć rozmiar obrazu bez pikselacji?


13

Widzę wiele gier z gładkimi krawędziami i obrazami o wysokiej rozdzielczości, ale kiedy próbuję zmniejszyć obrazy, by powiedzieć mojej postaci 64x64, dostaję piksele. nawet jeśli zacznę od płótna 64 x 64, otrzymam pikselowane krawędzie.

Czy powinienem skalować z OpenGL? a może jest jakaś technika z Photoshopem lub Pixsem, o której nie wiem?


1
czy możesz podać wizualny przykład?
tigrou


4
Z twojego opisu wydaje się, że używany algorytm skalowania dokonuje interpolacji z dokładnością do najbliższego piksela, a nie płynniejszej interpolacji Lanczosa. Czy to pytanie o zmniejszenie grafiki wektorowej jest pomocne?
Anko

Tak, przydatna jest odpowiedź na skalowanie wektorowe. Dziękuję za to.
Rhys

Odpowiedzi:


27

Wygląda na to, że używany algorytm skalowania nie interpoluje pikseli.

Zdjęcia najlepiej wyjaśnić za pomocą zdjęć:

skalowanie obrazu z różnymi interpolacjami

Jest to Major , najpierw w całości, a następnie zmniejszany za pomocą Lanczosa (po lewej) i najbliższego piksela (aka bez interpolacji) (po prawej) do dwóch rozmiarów.

To samo porównanie, w powiększeniu 3x:

Widok Szczegółowy

Upewnij się, że skalowanie, którego używasz, to rozsądne ponowne próbkowanie. Na przykład ImageMagick ma -filter Lanczosopcję.

Nie musi to być nawet fantazyjne Lanczos, na wypadek, gdyby twoje narzędzia nie mogły tego zrobić; sześcienny (skrajnie lewy) wygląda dla mnie tak samo:

sześcienny po lewej stronie


1
Dziękujemy za poświęcenie czasu na udzielenie odpowiedzi i pokazanie przykładowych zdjęć. Bardzo mile widziane.
Rhys
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.