iOS, Bilder, Auflösungen und Autoskalierung - Hilfe!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • iOS, Bilder, Auflösungen und Autoskalierung - Hilfe!

    Servus!

    ich möchte eine App für iPhones und iPads anbieten. Am liebsten per Universal-App, aber soweit bin ich noch nicht. Ich entwickle erstmal mit einem Storyboard Größe iphone 5.

    Die App lädt ein Foto aus einer Internetdatenbank. Der ImageView ist dabei 318x318 Pixel breit (fast komplette Breite).

    1) Um bestmögliche Qualität des Bildes anzuzeigen (und gleichzeitig so wenig Speicherplatz wie möglich zu verbrauchen) muss das Bild mit 318x318 Pixeln abgespeichert werden, richtig?
    2) Zeige ich das 318er Bild auf dem iPad an skaliert er das automatisch hoch, was zu Qualitätsverlust führt, richtig?
    3) Damit das Bild auch auf dem ipad air die beste Qualität auf voller Bildschirmbreite bietet müsste ich das Bild zusätzlich in einer Größe von ca. 765x765 in der DB vorhalten, richtig?

    Bin gerade etwas verwirrt was die Auflösung von Bildern, die Anzeige auf retina-displays und das automatische skalieren der ios-geräte anbelangt.. :huh:

    Danke Jungs!
  • danyball schrieb:

    1) Um bestmögliche Qualität des Bildes anzuzeigen (und gleichzeitig so wenig Speicherplatz wie möglich zu verbrauchen) muss das Bild mit 318x318 Pixeln abgespeichert werden, richtig?

    Da fast alle aktuellen Geräte Retina-Displays haben: falsch. Das Bild muss 636 × 636 Pixel groß sein und auf dem iPhone 6 Plus sogar 954 × 954 Pixel.

    danyball schrieb:

    2) Zeige ich das 318er Bild auf dem iPad an skaliert er das automatisch hoch, was zu Qualitätsverlust führt, richtig?

    Wie meinst Du das Nicht-Retina-Bilder skalieren Retina-Displays automatisch hoch. Ansonsten hängt die Größe des Imageviews von Deinen Autolayout- bzw. Autosizing-Einstellungen ab. Wie der Imageview das Bild an seine Größe anpasst, hängt wiederum vom Contentmode ab.

    danyball schrieb:

    3) Damit das Bild auch auf dem ipad air die beste Qualität auf voller Bildschirmbreite bietet müsste ich das Bild zusätzlich in einer Größe von ca. 765x765 in der DB vorhalten, richtig?

    Das iPad Air hat ein Retina-Display mit 2048 × 1536 Pixeln.
    „Meine Komplikation hatte eine Komplikation.“
  • Für ein Retina Display sollte das Bild quasi im Faktor @2x vorliegen. Auf einem Retina iPad wären dies dann etwa 1530x1530 Pixel.

    Je nachdem um was für eine Art Bild es sich handelt, solltest Du die kleineren Auflösungen sehr gut herunter skalieren können.

    D.h. Du solltest das Bild immer der größten benötigten Auflösung speichern.
  • Ah jetzt klärt es sich langsam, danke macmoonshine und MCDan!

    Bilder in doppelter Auflösung. Ok macht Sinn. Hab ich in meinem Kopf verdreht gehabt.

    Wenn das uiview auf dem iphone 5 auf komplette Breite gezogen ist, sollte autosizing ja z.b. aufm ipad das view auch auf die komplette breite ziehen. Wodurch das Bild, z.b. bei "scale to fit", unscharf wird. Lade ich aber ein entsprechend großes Bild in den auto-vergrößerten View sollte es wieder scharf sein oder?
  • MCDan schrieb:

    D.h. Du solltest das Bild immer der größten benötigten Auflösung speichern.


    ich würde mal sagen dass man es in der bestmöglichen auflösung speichern sollte und dann jeweils in die benötigte auflösung runterrechnen sollte (und auf dem server cachen). das ganze geht mit imagemagick ja alles automatisch und auch unter angabe von kompression, qualität, optimierungen etc...
    dann hat man morgen kein problem wenns eine neue auflösung gibt.
  • danyball schrieb:

    Ah jetzt klärt es sich langsam, danke macmoonshine und MCDan!

    Bilder in doppelter Auflösung. Ok macht Sinn. Hab ich in meinem Kopf verdreht gehabt.

    Wenn das uiview auf dem iphone 5 auf komplette Breite gezogen ist, sollte autosizing ja z.b. aufm ipad das view auch auf die komplette breite ziehen. Wodurch das Bild, z.b. bei "scale to fit", unscharf wird. Lade ich aber ein entsprechend großes Bild in den auto-vergrößerten View sollte es wieder scharf sein oder?


    du lädst das bild nur ein mal (außer du willst zuerst als voransicht eine version mit extrem schlechter qualität laden). das bild lädst du eben so dass die schmale bildlänge so groß ist wie die maximale seitenlänge deines imageviews.
  • gritsch schrieb:

    ich würde mal sagen dass man es in der bestmöglichen auflösung speichern sollte und dann jeweils in die benötigte auflösung runterrechnen sollte (und auf dem server cachen). das ganze geht mit imagemagick ja alles automatisch und auch unter angabe von kompression, qualität, optimierungen etc...
    dann hat man morgen kein problem wenns eine neue auflösung gibt.


    Genauso mache ich das auch.
    Ich bin gegen Signaturen!!!
  • @gritsch: Ja da gibt es verschiedene Szenarien. Ich möchte den Server mit den ganzen Bildskalierungen erstmal nicht belasten und halte daher die Bilder in verschiedenen Größen vor. Aber ist sicher auch einen Test wert das ganze dynamisch mit imagemagick auszuprobieren.
    Diese Bilder können auch User von ihren iphones hochladen. Da wollte ich das bild schonmal auf geräteseite etwas herunterskalieren damit die zu übertragenden Daten nicht zu groß sind. Für die Zukunft am Besten wär natürlich die volle Auflösung.