2014-09-15 7 views
12

Z potrzebą 3x obrazów w iOS 8 doszedłem do wniosku, że łatwiej będzie zarządzać obrazami z katalogiem zasobów w Xcode 6. Próbuję po prostu dostarczyć pojedynczy obraz, 3x przeskalowany obraz do katalogu zasobów i chcę, aby Xcode automatycznie zmniejszał ten obraz, aby wygenerować 2x i 1x wersje obrazu 3x, więc nie muszę tego robić ręcznie.Katalog zasobów Xcode 6 automatycznie tworzy obrazy dla mniejszych skal.

Teraz to jest to, co mam:

Naprawdę mam nadzieję, że Xcode posiada taką funkcję automatycznego tworzenia 2x i 1x obrazów, a ja po prostu nie odkryli jeszcze. Jeśli nie ma takiej funkcji, czy istnieją jakieś alternatywy? (Znam IconKit, ale jest denerwujący i nie został zaktualizowany do obsługi obrazów 3x .Jeżeli zostałby wykonany poprawnie, to nie potrzebowałby nawet aktualizacji.)

Wiem, że Xcode może automatycznie generować wszystkie obrazy z pliku pdf, ale nie tego szukam!

+0

IconKit został już zaktualizowany do 3x obrazów. – newenglander

Odpowiedz

19

skończyło się małą aplikację mac, który dba o brudnej roboty. Możesz przeciągnąć i upuścić jeden lub wiele plików .jpg lub .png do głównego widoku aplikacji; wykryje skalę obrazu wejściowego i stworzy mniejsze skalowane obrazy. Dzięki tej aplikacji wystarczy utworzyć pojedynczy obraz 3x i przeciągnąć go do aplikacji, aby utworzyć dwa mniejsze obrazy. Oszczędza tyle pracy!

Źródło można znaleźć na mojej stronie GitHub, po prostu pobierz i uruchom na swoim Macu! https://github.com/JonasGessner/ImageReducer

+1

iOS zrobi to za Ciebie: jeśli pominiesz rozmiar obrazu, załaduje on następny odpowiedni rozmiar. Będziesz skalował się w oprogramowaniu, a więc technicznie poniesiesz wydajność, ale zazwyczaj nie zauważysz tego. –

0

Jeśli nie zapewnisz zasobów 1x lub 2x, a Twoja aplikacja zostanie uruchomiona na urządzeniu 1x lub 2x, powinna zdyskwalifikować zasób 3x w czasie wykonywania. Może to wyglądać dobrze, ale w zależności od zastosowanej metody skalowania może również wyglądać naprawdę źle, więc upewnij się, że to naprawdę jest to, czego chcesz.

+0

Skalowanie w czasie działania jest bardzo szkodliwe dla wydajności i nie jestem nawet pewien, czy jest to domyślne zachowanie systemu iOS. Dzięki i tak! – JonasG

+0

Tak, chodzi mi o to, że prawdopodobnie zadziała, ale będzie źle wyglądać i nie powinieneś tego robić, jeśli zależy ci na tym, aby Twoja aplikacja wyglądała ładnie. (Ale w przypadku projektu testowego, całkowicie sprawnego.) –

+0

Na szczęście bardzo zależy mi na tym, aby moja aplikacja wyglądała ładnie;) Tak, rozumiem; to może być możliwe, ale zdecydowanie nie jest to możliwe. – JonasG

7

Istnieje inny sposób rozwiązania tego problemu.

Użyj Automatora, aby utworzyć usługę Mac OS X, która automatycznie tworzy @ 3x, @ 2x i normalny obraz na podstawie 1 obrazu w rozdzielczości @ 3x. Wykorzystuje tylko 3 metody: duplikowanie obrazów, skalowanie w dół i zmianę nazwy.

Gotowy Mac OS X usługa wykonana w Automator można znaleźć tutaj:

https://github.com/lukszar/iOS-Images-Prepare

+0

Fajnie, zrobiłem też aplikację na mac, aby zrobić to samo, jest na GitHub: https://github.com/JonasGessner/ImageReducer – JonasG

+0

Dzięki za udostępnienie tego, oszczędzam tyle czasu :) – Deco

+0

Cieszę się, że mogę usłyszeć to :-) – lukszar

0

Jeśli folder o nazwie *.imageset i zawartość w nim jest dobrze zorganizowana, Xcode rozpozna je jako obraz. Jest to inny sposób: https://github.com/albert-zhang/gen_xcassets

Ten skrypt python szybko wygeneruje automatycznie @ 2x dla wszystkich zdjęć w folderze.

2

spóźniony na imprezę, ale istnieje jedno narzędzie, które pozwala jednym kliknięciem wykonać wszystkie zasoby @ 1x, @ 2x, @ 3x i ikony. A także eksport do pliku XCAssets.

Można go znaleźć tutaj: https://github.com/angelvasa/AVXCAssets-Generator

enter image description here

nadzieję, że pomoże ktoś

+1

Działa to jak urok! Prosty i łatwy w użyciu. – crmackey

Powiązane problemy