Ich arbeite mit der ALAssetLibrary
, um die Bilder von meiner Kamera roll für eine benutzerdefinierte Ansicht, die ich mache. Dies war ziemlich einfach:Wie bekomme ich ein Bild mit niedriger Auflösung, oder Thumbnail von der ALAssetRepresentation in Swift
library.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupSavedPhotos), usingBlock: {
(group: ALAssetsGroup?, stop: UnsafeMutablePointer<ObjCBool>) in
if group != nil {
group!.setAssetsFilter(ALAssetsFilter.allPhotos())
var indexSet = NSIndexSet(indexesInRange: NSMakeRange(0, group!.numberOfAssets() - 1))
group!.enumerateAssetsAtIndexes(indexSet, options: nil, usingBlock: {
(result: ALAsset!, index: Int, stop: UnsafeMutablePointer<ObjCBool>) in
if (result != nil) {
var alAssetRapresentation: ALAssetRepresentation = result.defaultRepresentation()
var url = alAssetRapresentation.url()
var iRef = alAssetRapresentation.fullResolutionImage().takeUnretainedValue()
var image = UIImage(CGImage: iRef)
}
})
}
}) { (NSError) -> Void in
}
All dies funktioniert gut im Simulator. Jedoch auf einem Gerät, das fullResolutionImage()
zu bekommen, erweist sich als Weg zu speicherintensiv auf dem Gerät und verursacht Abstürze. Ich fand, das macht Sinn, Dutzende von hochauflösenden Bildern, die alle in den Speicher geladen werden, sind eine schreckliche Idee, also würde ich gerne die Qualität zurück skalieren und nur das Miniaturbild des Bildes zeigen. Einziges Problem ist, dass es keine einfache Möglichkeit gibt, ein Thumbnail von der AlAssetRepresentation
zu bekommen.
Ich versuche mit der CGImageSourceCreateThumbnailAtIndex
zu arbeiten, um ein Thumbnail zu erstellen, war aber sehr verwirrt, wie man das macht.
Jede Hilfe wird sehr geschätzt!
Schön! Also PhotoKit soll ich verwenden: D – Unome
Absolut. Ihr Wunsch, das Bild in der reduzierten Größe zu laden, ist lobenswert, und CGImageSourceCreateThumbnailAtIndex ist ein guter Weg, dies zu tun, aber in dieser Situation müssen Sie das nicht tun; Photo Kit kümmert sich um das Ganze für Sie. – matt
Fantastisch. Ich werde dann PhotoKit verwenden, Thx! + 1 Gibt es gutes Material zum Aufzählen der Benutzerfotos mit PhotoKit, auf das Sie mich verweisen können? Das ist, wo ich jetzt bin. – Unome