BSImagePicker все изображения размыты - PullRequest
0 голосов
/ 29 июня 2018

Я использую BSImagePicker вместо UIImagePicker для включения множественного выбора. Я использую следующий код для этого:

    let bsImagePicker = BSImagePickerViewController()
    bsImagePicker.maxNumberOfSelections = 4

    self.bs_presentImagePickerController(bsImagePicker, animated: true, select: { (asset : PHAsset) in

    }, deselect: { (asset : PHAsset) in

    }, cancel: { (assets : [PHAsset]) in

    }, finish: { (assets : [PHAsset]) in

        for asset in assets {

            self.selectedAssets.append(asset)

            self.convertAssetsToImage()
        }

    }, completion: nil)

И для преобразования PHAsset в изображение я использую этот код:

func convertAssetsToImage() {

    for asset in selectedAssets {

        let manager = PHImageManager.default()
        let option = PHImageRequestOptions()
        var thumbnail = UIImage()
        option.isSynchronous = true

        manager.requestImage(for: asset, targetSize: CGSize(width: 340, height: 365), contentMode: .aspectFit, options: option, resultHandler: {(result, info) -> Void in

            thumbnail = result!
        })

        self.selectedPhotos.append(thumbnail)
    }

    DispatchQueue.main.async {

        self.imageViewImage.animationImages = self.selectedPhotos
        self.imageViewImage.animationDuration = 5.0
        self.imageViewImage.startAnimating()
    }
}

Но все изображения размыты. Если отображается средство выбора изображений, все изображения слегка размыты, а после выделения изображение все еще размыто.

Это изображение выбора Экран:

Selection Screen

То есть изображение выбранного изображения:

Blurred Image

И, например, это изображение, если я использую UIImagePicker:

enter image description here

1 Ответ

0 голосов
/ 29 июня 2018

Вы можете добавить эти два PHImageRequestOptions, чтобы сказать фотографиям обеспечить высококачественное изображение (возможно, жертвуя скоростью).

option.deliveryMode = .highQualityFormat
option.resizeMode = .exact
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...