Storing Photos in the Photo Library(储存相片至手机)

本文深入探讨了iOS开发领域的图像处理与AR特效应用,详细介绍了OpenGL ES滤镜、OpenCV图像处理、人脸标定AR等关键技术,并通过实例展示了如何将这些技术应用于实际项目中。

1。导入库和协议(protocol)

   #import <MobileCoreServices/MobileCoreServices.h>

    <UIImagePickerControllerDelegate, UINavigationControllerDelegate>

   方法:UIImageWriteToSavePhotosAlbum


e.g.

- (BOOL) cameraSupportsMedia:(NSString *)paramMediaType  sourceType:(UIImagePickerControllerSourceType)paramSourceType{   

   __block BOOL result = NO;  

    if ([paramMediaType length] == 0){

        NSLog(@"Media type is empty.");

        return NO;

    }  
    //获取本机中符合指定资源的所有媒体类型,以便后续判定是否支持

    NSArray *availableMediaTypes = [UIImagePickerController  availableMediaTypesForSourceType:paramSourceType];   

    [availableMediaTypes  enumerateObjectsUsingBlock:

       ^(id obj, NSUInteger idx, BOOL *stop) {         

         NSString *mediaType = (NSString *)obj;

         if ([mediaType isEqualToString:paramMediaType]){

             result = YES;

             *stop= YES;

         }       

     }];  

    return result;   

}    

//是否支持拍照 

- (BOOL) doesCameraSupportTakingPhotos{    
    //kUTTypeImage:静态图片

    return [self cameraSupportsMedia:(__bridge NSString *)kUTTypeImage  sourceType:UIImagePickerControllerSourceTypeCamera];   

}

//是否可用摄像头

- (BOOL) isCameraAvailable{

    return  [UIImagePickerController isSourceTypeAvailable:  UIImagePickerControllerSourceTypeCamera];   

}

//保存后调用

- (void) imageWasSavedSuccessfully:(UIImage *)paramImage  didFinishSavingWithError:(NSError *)paramError  contextInfo:(void *)paramContextInfo{   

    if (paramError == nil){

        NSLog(@"Image was saved successfully.");

    } else {

        NSLog(@"An error happened while saving the image.");

        NSLog(@"Error = %@", paramError);

    }    

}

//delegate:完成选择

- (void)  imagePickerController:(UIImagePickerController *)picker  didFinishPickingMediaWithInfo:(NSDictionary *)info{   

    NSLog(@"Picker returned successfully.");   

    NSLog(@"info:%@", info);   

    NSString  *mediaType = info[UIImagePickerControllerMediaType];   

    if ([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage]){       

        UIImage *theImage = nil;       

        if ([picker allowsEditing]){

            theImage = info[UIImagePickerControllerEditedImage];

        } else {

            theImage = info[UIImagePickerControllerOriginalImage];

        }       

        SEL selectorToCall =  @selector(imageWasSavedSuccessfully:didFinishSavingWithError:contextInfo:);  

       //保存到相册   

       UIImageWriteToSavedPhotosAlbum(theImage, self, selectorToCall,  NULL);     

    }   

    [picker dismissViewControllerAnimated:YES completion:nil];  

}

//delegate 取消选择

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{   

    NSLog(@"Picker was cancelled");

    [picker  dismissViewControllerAnimated:YES completion:nil];   

}


- (void)actionDisplayPickerController{

    if ([self isCameraAvailable] &&  [self doesCameraSupportTakingPhotos]){      

        UIImagePickerController *controller = [[UIImagePickerController alloc] init];        

        controller.sourceType = UIImagePickerControllerSourceTypeCamera;       

        controller.mediaTypes = @[(__bridge NSString *)kUTTypeImage];     

        controller.allowsEditing = YES;

        controller.delegate = self;     

        [self presentViewController:controller animated:YES completion:nil];       

    } else {

        NSLog(@"Camera is not available.");

    }  

}



【从高压输电线的架空地线中汲取电能】一个25千瓦受控电源从735千伏线路的架空地线中汲取电能的SimPowerSystems模型(Simulink仿真实现)内容概要:本文介绍了一个基于SimPowerSystems的Simulink仿真模型,用于模拟从735千伏高压输电线的架空地线中汲取25千瓦电能的受控电源系统。该模型聚焦于高压输电线路中架空地线的能量回收技术,通过仿真手段实现对电能采集过程的建模与控制策略验证,体现了电力系统中新型能源获取方式的技术可行性与工程应用潜力。文中还提及该资源属于一系列电力系统仿真研究的一部分,涵盖微电网、储能优化、碳流追踪、鲁棒调度等多个前沿方向,配套提供Matlab/Simulink代码及网盘资料链接,便于科研人员复现与拓展研究。; 适合人群:具备电力系统基础知识、熟悉Matlab/Simulink仿真环境,从事电力工程、能源回收或智能电网相关研究的科研人员及研究生;有一定编程与建模仿真经验的高年级本科生或工程技术人员。; 使用场景及目标:①研究高压输电线路中架空地线的能量回收机制与建模方法;②掌握基于Simulink的电力系统仿真技术,特别是受控电源与电网交互的动态特性分析;③为开展能源 harvesting、分布式供能、电力电子变换器控制等相关课题提供参考模型与技术支撑; 阅读建议:建议结合提供的仿真模型文件进行实操演练,重点理解系统结构设计、参数设置与控制逻辑实现;同时可延伸学习文档中提到的其他电力系统优化与仿真案例,以拓宽研究视野和技术积累。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值