zoukankan      html  css  js  c++  java
  • PHImageManager 获取图片模糊

        PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
        options.synchronous = true;
        options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
        options.networkAccessAllowed = YES;
        options.progressHandler = ^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
            /*
             Progress callbacks may not be on the main thread. Since we're updating
             the UI, dispatch to the main queue.
             */
            dispatch_async(dispatch_get_main_queue(), ^{
                if(handler) handler(progress);
            });
        };
        
        [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:self.view.bounds.size options:options resultHandler:^(UIImage *result, NSDictionary *info) {
            // Hide the progress view now the request has completed.
    
            // Check if the request was successful.
    
            if(manager) manager(result);
    
        }];
    

     用以上的代码去获取图片会出现模糊,不清晰的状况。(明明options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat 设置为高清了)

       其实坑就在于contentMode 写成了self.view.bounds.size,如果需要获取清晰的请设置为:PHImageManagerMaximumSize。或者换一种读取图片的方法:

        [[PHImageManager defaultManager] requestImageDataForAsset:asset options:options resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
            UIImage * result = [UIImage imageWithData:imageData];
            if(manager) manager(result);
        }];
    

      

  • 相关阅读:
    Linux内核编译測试
    Matlab pchiptx
    汇编 -- Hook API (MessageBoxW)
    三种SVM的对偶问题
    JAVA性能优化的五种方式
    C++字符串操作笔试题第二波
    JavaScript实现拖拽预览,AJAX小文件上传
    vijos-1382 寻找主人
    百度2015商务搜索实习面试总结
    [Swift]LeetCode790. 多米诺和托米诺平铺 | Domino and Tromino Tiling
  • 原文地址:https://www.cnblogs.com/qiyer/p/9316163.html
Copyright © 2011-2022 走看看