从照片库快速调整图像(ALAssets)的缩略图

标签 swift uiimageview image-resizing alassetslibrary cgimage

我正在寻找如何显示照片库中保存的图像缩略图的解决方案。我知道缩略图有方法,但结果太小(相反的全屏尺寸太大)。我想设置我想要的缩略图的自定义大小。我试图寻找任何解决方案,但我认为它太复杂了。现在我有这些方法来显示拇指:

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 创建具有自定义大小的缩略图吗?表现出色。谢谢

最佳答案

let objAlAsset = arrayImages.objectAtIndex(0)  as! ALAsset
var image = UIImage(CGImage:objAlAsset.aspectRatioThumbnail().takeUnretainedValue())
let imgData = UIImageJPEGRepresentation(image, 1.0)

关于从照片库快速调整图像(ALAssets)的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040379/

相关文章:

ios - 尝试使用 Card.io-iOS-SDK 扫描卡时应用程序崩溃。

ios - 带有正则表达式的文字中的无效转义序列

swift - 计算 tableview 中 name 等于的所有行

ios - 使用 swift 连接 UIImageView 以查看 Images.xcassets 中的 Controller 显示图像

xcode - IBDesignable 无法设置按钮背景

ios - ScrollView 无法快速放大或缩小

ios - 如何在滚动时使 UIImage 淡入淡出?

canvas - 在 PhotoShop 中调整批量图像的大小

上传时调整图像大小的 php 会在我不希望图像旋转时旋转图像

python - Skimage - 调整大小功能的奇怪结果