Zugriff auf UIImage Eigenschaften, ohne in den Speicher laden das Bild
Wie Sie wissen, die iphone-Richtlinien entmutigen laden uiimages, die größer als 1024x1024.
Die Größe der Bilder, die ich haben würde, zu laden unterschiedlich, und ich würde gern überprüfen Sie die Größe des Bildes, ich bin zu laden; jedoch mit dem .Größe Eigentum von uiimage erfordert, dass das image laoded... das ist genau das, was ich versuche zu vermeiden.
Gibt es etwas falsch in meinem denken oder gibt es eine Lösung?
danke an Euch alle
- Das ist eine gute Frage. Android bietet eine Möglichkeit, um dies zu tun, aber ich weiß nicht, von einem iOS-Lösung eingesetzt. EDIT: Das wurde vorher gefragt. stackoverflow.com/questions/1551300/...
- ich suchte vor, aber ich konnte ihn nicht finden! vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ab iOS 4.0, iOS SDK beinhaltet die
CGImageSource...
- Funktionen (in der ImageIO-framework). Es ist eine sehr flexible API zur Abfrage von Metadaten ohne laden des Bildes in den Speicher. Immer die Pixelabmessungen eines Bildes sollte funktionieren wie diese (stellen Sie sicher, dass Sie das ImageIO.Rahmen in Ihrem Ziel):(adaptiert von "Programming with Quartz" von Gelphman und beladen, listing 9.5, Seite 228)
CGImageSourceCopyPropertiesAtIndex
statt nurCGImageSourceCopyProperties
?kCFNumberCGFloatType
stattkCFNumberFloatType
beim Aufruf CFNumberGetValue (), da die Variablenwidth
undheight
deklariertCGFloat
. Der obige code funktioniert auf 32-bit-Systeme, aber die Werte enthalten, die Müll auf 64-bit-Systeme.kCGImagePropertyOrientation
) berücksichtigt - flip-Breite und Höhe für Orientierungen 5. - 8. Sie können den test mit diese Bilder.Swift 3 version der Antwort:
In Swift 5, mit
ImageIO
,imageProperties[kCGImagePropertyOrientation as String]
werden kann, gleich null.Es null ist, getestet habe ich mit
png
image-Dateials Apple sagt