作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找如何显示照片库中保存的图像缩略图的解决方案。我知道缩略图有方法,但结果太小(相反的全屏尺寸太大)。我想设置我想要的缩略图的自定义大小。我试图寻找任何解决方案,但我认为它太复杂了。现在我有这些方法来显示拇指:
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/
我是一名优秀的程序员,十分优秀!