사진 작업을 사용하여 iOS 신속한 이미지를 처리하고 있습니다. PHImageManager.defaultImanager(). requestImageForAsset()을 사용하여 이미지를 가져 오려고하면 대부분의 이미지에서 정상적으로 작동합니다. 이 함수는 두 개의 값, 즉 하나는 스케일 1이고 다른 하나는 스케일 2입니다. 스케일 1의 이미지는 고해상도 이미지이고 스케일 2의 이미지는 저해상도 이미지입니다. 그러나 이미지 중 일부는 저해상도 이미지 만 반환합니다.PHImageManager.requestImageForAsset는 iOS 스위프트에서 저해상도 이미지를 반환합니다.
모든 PHAsset에 대해 고해상도 이미지를 얻는 방법을 아는 사람이 있습니까? 여기
내 코드입니다 : 그것은var targetSize:CGSize = CGSizeMake(UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height)
var itemOptions = PHImageRequestOptions()
itemOptions.networkAccessAllowed = true
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: targetSize, contentMode: PHImageContentMode.AspectFit, options: itemOptions) { (result:UIImage!, info:[NSObject : AnyObject]!) -> Void in
if result != nil && result.scale == 1 {
self.subFuncForDisplayCurrentImage(result, ID: (asset?.localIdentifier)!)
}
}
이 답변 주셔서 감사합니다 높은 품질의 이미지 코드 아래에 추가 얻으려면. 그 특별한 이미지는 버스트 사진입니다. 버스트 사진에서 고해상도 이미지를 얻을 수있는 방법이 있습니까? –
다른 사진과 같은 버스트 사진과는 관계가 없습니다. 크기가 == 2이고 배율 == 1 인 이미지를 얻는 이유는 'PHImageRequestOptions'의 속성을 설정하지 않았기 때문입니다. 'ssync'를'YES'로 설정하고'resizeMode'를'PHImageRequestOptionsResizeModeExact'로 설정해야합니다. 'synchronous'의 기본값은'NO'이며 작은 이미지를 사용할 수있는 작은 이미지를 줄 것입니다. 그리고 ResizeModeExact는 전달 된 이미지가 정확히 targetSize임을 보장합니다. – gabbler
굉장! 당신의 설명을 통해, 나는 나의 문제를 해결했다. 고 블러, 고 블러! –