直接復(fù)制圖片的字節(jié)數(shù)據(jù)(拿到原圖數(shù)據(jù))
let representation = resulttll?.defaultRepresentation() //resulttll為ALAsset屬性
let imageBuffer = UnsafeMutablePointer<UInt8>.allocate(capacity: Int((representation?.size())!))
let bufferSize = representation?.getBytes(imageBuffer, fromOffset: Int64(0),
length: Int((representation?.size())!), error: nil)
let datall:NSData = NSData(bytesNoCopy:imageBuffer ,length:bufferSize!, freeWhenDone:true)
縮略圖 (遍歷相冊(cè),自定義相冊(cè)時(shí)可以使用)
注意: thumbnail(小正方形的縮略圖); aspectRatioThumbnail(按原始資源長寬比例的縮略圖)
assetsLibrary.enumerateGroupsWithTypes(ALAssetsGroupAll, usingBlock: { (group, stop) in
if group != nil {
let model = AlbumModel()
if group?.value(forProperty: ALAssetsGroupPropertyName) != nil {
model.albumName = group?.value(forProperty: ALAssetsGroupPropertyName)as!String
}else{
model.albumName = ""
}
model.imageArray = NSMutableArray()
//倒敘
group?.enumerateAssets(options: NSEnumerationOptions.reverse, using: { (result, index, stop) in
if result != nil {
let imageModel = ImageModel()
imageModel.isSelected = false
imageModel.image = UIImage(cgImage: (result?.thumbnail().takeUnretainedValue())!)
imageModel.pictureRest = result
model.imageArray.add(imageModel)
self.currentImageArray = model.imageArray
}
})
hud.hide(animated: true)
self.dataArray.add(model)
}else{
for i in 0 ..< self.dataArray.count {
let model = self.dataArray[i] as!AlbumModel
self.titleArray.add(model.albumName)
if model.albumName == "相機(jī)膠卷" {
self.selectedAlbumModel = self.dataArray[i] as! AlbumModel
self.currentIndex = i
self.currentImageArray = self.selectedAlbumModel.imageArray
}
}
hud.hide(animated: true)
self.albumTableView.dataArray = self.titleArray
self.collectionView.reloadData()
}
}) { (error) in
print("\(error)")
}