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);
        }];
    

      

  • 相关阅读:
    win7开启Administrator账户
    二叉树遍历
    使用NAnt提高工作效率(二)
    系统服务的最简单实现
    右键附加启动命令行
    C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件
    百度原CTO李一男经典语录
    Sql开发技巧
    使用NAnt提高工作效率(一)
    对获取config文件的appSettings节点简单封装
  • 原文地址:https://www.cnblogs.com/qiyer/p/9316163.html
Copyright © 2011-2022 走看看