2012-01-18 27 views
8

Poszukuję zewnętrznej biblioteki (lub metody wykorzystującej framework Apple, która nie niszczy jakości), która pozwoli mi skalować obrazy.Zmiana rozmiaru UII bez utraty jakości

Próbowałem tej "biblioteki przetwarzania prostych obrazów", ale działa ona tylko w czerni i bieli - nie wiem, jak sprawić, by działała w przypadku obrazów kolorowych. (http://code.google.com/p/simple-iphone-image-processing/)

Próbowałem rdzeń graficzny, UIKit, ten „Trevor” (http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/) metoda - co sprawia, WYJĄTKOWO zamazane obrazy i naprawdę nie wiem, co jeszcze mogę zrobić - nie mogę kontynuować moją programowania aplikacji bez uzyskania co najmniej przyzwoitego skalowania obrazu. Myślę, że potrzebna jest interpolacja, aby uzyskać przyzwoite wyniki.

Biorąc pod uwagę ostatnie postępy w iOS, mam nadzieję, że ktoś mi pomoże. Nie jest to problem, który tylko ja mam, wiele innych osób ma ten sam problem, więc jeśli ktoś mógłby go rozwiązać tutaj, jestem pewien, że doceniłby go bardzo szeroki krąg odbiorców!

Dziękuję bardzo

+0

Czy możesz opisać, jakie problemy masz z wypróbowanymi metodami? Czy możesz podać przykład "EKSTREMALNIE rozmytego obrazu" z powyższej metody, abyśmy mogli Ci powiedzieć, jak Ci pomóc? – user1118321

+0

Nie wiem, czy kategorie UIImaterage zapewniają wystarczająco wysoką jakość dla Ciebie. Używam biblioteki w jednej z moich aplikacji i uważam, że jakość jest przyzwoita. Szczególnie biorąc pod uwagę, jak łatwo jest pracować. Możesz to wypróbować. https://github.com/jchatard/UIImage-categories – simonbs

+0

Zrób kilka zrzutów ekranu i pokaż nam, co masz na myśli – john

Odpowiedz

10

Moja odpowiedź:

OK - ktoś, kto rzeczywiście odpowiedział na moje pytanie pierwotnie następnie usuwa ich odpowiedź, ja naprawdę nie wiem, dlaczego.

Oto trzy różne podejścia:

  • Korzystanie Kategoria podejście Trevora - Myślę, że to jest straszne dla zachowania ostrości. Jest bardziej przydatny, gdy próbujesz zapobiec pojawianiu się poszarpanych linii.
  • Obsługa obrazu Core iOS5 i filtra AffineTransform - bardziej zaawansowana funkcja CILanczosScaleTransform nie jest dostępna w systemie iOS (o ile mi wiadomo). Tworzy naprawdę złe wyniki.
  • Korzystanie z kategorii MGImageUtilities - wydaje się, że daje doskonałe wyniki w zmniejszaniu skali. (https://github.com/mattgemmell/MGImageUtilities)

Oto zrzut ekranu czterech zdjęć. POWIĘKSZYĆ! : http://i.stack.imgur.com/M3DVE.jpg Od lewej do prawej: oryginał, Trevor, obraz podstawowy, MGIU.

enter image description here

Jego niesamowite, że obraz po prawej stronie ma około szesnaście razy mniej zużycia pamięci niż na zdjęciu po lewej stronie. Dość tej samej jakości. Na małym ekranie - zawsze zmieniaj rozmiar dużych obrazów!

+0

Wynik MGImageUtilities wygląda całkiem nieźle. Dlaczego nie skorzystać z tego? – vocaro

+0

Tak, świetnie, używam go teraz! – Vazzyb

+0

zdecydowanie lepiej niż wyniki uzyskane przez bibliotekę Trevora, której używałem. dzięki! –