Я ищу решение, как я могу показать эскизы изображений, сохраненных в библиотеке фотографий. Я знаю, что есть метод для миниатюры, но результат слишком мал (а для противоположного полноэкранного размера слишком большой). Я хотел бы установить собственный размер миниатюры, который я хочу. Я пытался найти любое решение, но я думаю, что это было слишком сложно. Теперь у меня есть эти методы, показывая пальцы:Быстрое изменение размера изображений (ALAssets) из библиотеки фотографий для миниатюр
func setFromAlbum(album:ALAssetsGroup) {
//self.imageView.image = UIImage(CGImage:album.posterImage().takeUnretainedValue())
album.enumerateAssetsWithOptions(NSEnumerationOptions.Reverse, usingBlock: {
(asset: ALAsset!, index: Int, stop: UnsafeMutablePointer<ObjCBool>) -> Void in
if ((asset) != nil) // first non-nil element will be the recent asset
{
var assetRep: ALAssetRepresentation = asset.defaultRepresentation()
self.imageView.image = UIImage(CGImage: assetRep.fullScreenImage().takeUnretainedValue())
stop.initialize(true)
}
})
}
и это для показа эскизов фотографий:
func setFromAsset(asset:ALAsset) {
let assetRep: ALAssetRepresentation = asset.defaultRepresentation()
let image = UIImage(CGImage: assetRep.fullScreenImage().takeUnretainedValue())
self.photoImageView.image = image
}
Я пробовал это, но без успеха:
func setFromAsset(asset:ALAsset) {
let imageOptions:[NSObject: AnyObject] = [
kCGImageSourceThumbnailMaxPixelSize : 20
]
let assetRep: ALAssetRepresentation = asset.defaultRepresentation()
let imageRef = assetRep.CGImageWithOptions(imageOptions).takeUnretainedValue()
let image = UIImage(CGImage: imageRef)
self.photoImageView.image = image
}
Я попытался несколько ключей в словаре с разными значениями, но не может работать. Я обнаружил, что способ CGImageSourceCreateThumbnailAtIndex
может помочь мне, но примеры были только в Objective C, и мне было слишком много, чтобы заставить его работать.
Так может кто-нибудь помочь мне, как я могу создавать эскизы с нестандартным размером из ALAssets? С великолепными показательными выступлениями. Thanks
Пожалуйста, избегайте давать ответы только на код. Попробуйте объяснить, как ваш код решает проблему OP. Помогите тем менее опытным понять ваше решение. –
Да, давид, я извиняюсь за это. – kalpesh