2014-10-26 14 views

risposta

18

IOS utilizza punti invece di pixel nei suoi sistemi di coordinate. Nei dispositivi non retina originali (iPhone, iPhone3G, iPhone3GS, iPad, iPad 2, iPad mini e iPod touch precedenti) un punto nel sistema di coordinate mappato su un pixel sullo schermo del dispositivo. A quel tempo, la vita era semplice, hai fornito immagini alla tua app che corrispondeva alla dimensione in punti e tutto sembrava fantastico.

Quando Apple ha introdotto i primi dispositivi di visualizzazione retina (iPhone 4, iPad con Retina Display e iPod touch 4), i dispositivi avevano 2 pixel per ogni punto. Apple ha escogitato un modo intelligente per affrontare questo. Il programmatore ha dovuto aggiungere una seconda immagine al loro programma con la risoluzione aumentata e aggiungere @ 2x al nome. Non sono state necessarie modifiche al codice. Se il tuo codice carica un'immagine chiamata "house", iOS caricherà "house" su un dispositivo non retina (come l'iPad 2 o l'iPad mini originale) e utilizzerà "house @ 2x" per i dispositivi retina. L'iPhone 6 Plus ha una risoluzione ancora maggiore quindi utilizza una versione @ 3x.

Quindi cosa rende un'immagine @ 1x, @ 2x o @ 3x? Se la tua immagine "casa" è 120 pixel per 90 pixel, l'immagine "casa @ 2x" dovrebbe essere 240 per 180 pixel, ovvero il doppio del numero di pixel in ogni dimensione ("2x" in breve). La versione "house @ 3x" dovrebbe essere 360 ​​per 270 (3 volte il numero di pixel in ogni dimensione).

Sta a te fare in modo che le versioni @ 2x e @ 3x abbiano più dettagli e non solo più pixel. È possibile utilizzare un programma come Photoshop o Pixelmator per creare le immagini. Inizia creando la bella versione altamente dettagliata della tua immagine (la versione @ 3x), quindi ridimensionala alla risoluzione @ 2x e salvala come versione @ 2x. Quindi apri nuovamente la tua versione @ 3x e ridimensiona la risoluzione @ 1x e salvala come versione @ 1x. Aggiungi tutte e tre le versioni al Catalogo delle risorse in Xcode e iOS caricherà la versione appropriata per i dispositivi appropriati.

+1

Grazie per questa risposta. Ha senso! Ho una domanda e ho Photoshop. Hai detto di iniziare a creare la versione @ 3x dell'immagine. Come faccio a fare questo? Sono le loro dimensioni? Una risoluzione? Posso rendere l'immagine di qualsiasi dimensione. Grazie per la risposta. –

+2

Sta a te decidere quanto vuoi che la tua immagine sia sullo schermo. Se la tua immagine deve essere 50 punti per 50 punti sullo schermo dell'app, crea la tua versione 3x 150x150, la tua versione 2x 100x100 e la tua versione 1x 50x50. Quindi, in Photoshop, dovresti creare una nuova immagine con dimensioni 150x150. Dopo aver creato questa immagine e salvata, la ridimensionerai impostando la dimensione dell'immagine su 100x100 e salvandola con un nuovo nome per la versione 2x. Quindi ricaricare la versione 150x150 e impostare la dimensione dell'immagine su 50x50 e salvarla con un nuovo nome per la versione 1x. – vacawama

+0

Grazie, sono grato per la tua risposta e saprò spuntarla. Grazie! –

7

Leggere questo per conoscere le diverse risoluzioni:

http://www.paintcodeapp.com/news/iphone-6-screens-demystified

Se siete alla ricerca di un modo economico e semplice per creare la grafica, che esporterà in tutte e tre le dimensioni, ottenere Sketch 3:

http://bohemiancoding.com/sketch/

Con Sketch è possibile creare un'immagine e quindi esportarla immediatamente in qualsiasi classe di dimensione necessaria.

Ecco le istruzioni passo passo di Photoshop per modificare le dimensioni. Se hai un disegno vettoriale - linee e altre forme - puoi iniziare da qualsiasi dimensione e aumentare o diminuire le dimensioni. Le tre foto sottostanti mostrano come aumentare le dimensioni dell'immagine. Se hai un'immagine come un jpeg, allora vorrai iniziare in grande e lavorare più piccolo per evitare distorsioni.

enter image description here

enter image description here

enter image description here

+1

Grazie, ma non so cosa faccio un'immagine 1x, 2x o 3x. Puoi aiutare qualcuno? –

+0

Aggiunto ulteriore aiuto per Photoshop. –

+1

Grazie per la tua risposta ha anche aiutato, ma posso solo spuntare una risposta e che sarà l'altra persona. Scusa ma grazie! –