iOS--OC语言相机封装----包含保存与读取

本文介绍了一个用于iOS应用的照片选择器组件,支持从相机或相册选择图片,并提供了图片编辑和保存至应用沙盒的功能。文章详细展示了如何通过Objective-C实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import <UIKit/UIKit.h>


typedef  NS_ENUM(NSUInteger,imagePickerStyle){

    ImagePickerStyleCamera,

    ImagePickerStylePhotoLibrary

};


@protocol WPhotoImagePickerViewControllerDelegate <NSObject>


-(void)imageChooseFinish:(UIImage *)image;


@end


/**

 *  保存成功回调

 *

 *  @param success 保存成功的block

 */

typedef void(^resultBlock)(BOOL success);


@interface WPhotoImagePickerViewController : UIImagePickerController


/**

 *  SZKImagePickerVCDelegate

 */

@property(nonatomic,assign)id<WPhotoImagePickerViewControllerDelegate>WPhotoImageDelegate;


/**

 *  初始化SZKImagePicker

 *

 *  @param style 打开照相机或者图库

 *

 *  @return  初始化SZKImagePicker

 */

-(instancetype)initWithImagePickerStyle:(imagePickerStyle)style;

/**

 *  保存图片到沙盒

 *

 *  @param image     要保存的图片

 *  @param imageName 保存的图片名称

 *  @param block     保存成功的值

 */

+(void)saveImageToSandbox:(UIImage *)image

             andImageNage:(NSString *)imageName

           andResultBlock:(resultBlock)block;

/**

 *  沙盒中获取到的照片

 *

 *  @param imageName 读取的照片名称

 *

 *  @return 从沙盒读取到的照片

 */

+(UIImage *)loadImageFromSandbox:(NSString *)imageName;

/**

 *  根据文件获取沙盒路径

 *

 *  @param fileName 文件名称

 *

 *  @return 文件在沙盒中的路径

 */

+(NSString *)filePath:(NSString *)fileName;



@end





















#import "WPhotoImagePickerViewController.h"


@interface WPhotoImagePickerViewController ()<UIImagePickerControllerDelegate>


@end


@implementation WPhotoImagePickerViewController


-(instancetype)initWithImagePickerStyle:(imagePickerStyle)style {

    self=[super init];

    if (self) {

        if (style==ImagePickerStyleCamera) {

            self.sourceType=UIImagePickerControllerSourceTypeCamera;

        }else if(style==ImagePickerStylePhotoLibrary) {

            self.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;

        }

    }

    return self;

}

- (void)viewDidLoad {

    [super viewDidLoad];

    

    self.allowsEditing= YES;

    self.delegate     = self;

    

    self.view.backgroundColor=[UIColor colorWithWhite:0.875 alpha:1.000];

    

}

#pragma mark---选取照片

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {

    //界面返回

    [picker dismissViewControllerAnimated:YES completion:nil];

    //获取编辑之后的图片

    UIImage *editedImage=[info objectForKey:UIImagePickerControllerEditedImage];

    //将获取的image传入代理方法中

    [self.WPhotoImageDelegate imageChooseFinish:editedImage];

}


#pragma mark----将照片保存到沙盒

+(void)saveImageToSandbox:(UIImage *)image andImageNage:(NSString *)imageName andResultBlock:(resultBlock)block {

    //高保真压缩图片,此方法可将图片压缩,但是图片质量基本不变,第二个参数为质量参数

    NSData *imageData=UIImageJPEGRepresentation(image, 0.5);

    //将图片写入文件

    NSString *filePath=[self filePath:imageName];

    //是否保存成功

    BOOL result=[imageData writeToFile:filePath atomically:YES];

    //保存成功传值到blcok

    if (result) {

        block(result);

    }

}


#pragma mark----从沙盒中读取照片

+(UIImage *)loadImageFromSandbox:(NSString *)imageName {

    //获取沙盒路径

    NSString *filePath=[self filePath:imageName];

    //根据路径读取image

    UIImage *image=[UIImage imageWithContentsOfFile:filePath];

    

    return image;

}

#pragma mark----获取沙盒路径

+(NSString *)filePath:(NSString *)fileName {

    //获取沙盒目录

    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    //保存文件名称

    NSString *filePath=[paths[0] stringByAppendingPathComponent:fileName];

    

    NSLog(@"%@",filePath);

    

    return filePath;

}




@end











内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支和高频结构先验建模分支结合Transformer模块和注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员和工程师,尤其是对核磁共振图像超分辨率感兴趣的学者和技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值