ios给图片添加创建时间(一)

最近,忙完公司一大堆事情之后,闲来无事,翻看4s相册中的照片,勾起无数美好的回忆,但美中不足的是,忘记了照片拍摄的时间,于是乎,一个用于查看照片拍摄时间的自用app诞生了、、、在这个小app上,我还是花了一点点心思的,当然,那是一些细节问题,现就程序中涉及的主要的、重要的内容做一下总结:

  程序的两个核心功能:

1,在拍摄照片时,添加上拍摄时间,并将这个有时间戳的照片存储到系统相册。

2,查看系统相册,选定某一张图片,在UIImageView上显示该图片的时候,显示出图片的拍摄时间。

 

核心功能一的重要内容:

1,拍照,当然是基于UIImagePickerController的,使用细节,网上到处都是,我就不多说了。不过,我在使用的时候,为了拍照后不进入预览、能连续啪啪、直接存储,进行了如下设置,

 _imagePicker.showsCameraControls = NO;
 _imagePicker.cameraOverlayView = self.overLayController.view;(我自定义的拍照按钮)

在 点击overLayController上的“拍照”按钮时,调用 [self.imagePicker takePicture];完成拍照。

2,在拍照完成的代理中,使用后台线程或者block来处理和保存照片,这样不会影响到主界面。

#pragma mark UIImagePickerViewControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *originalImage= [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) 
    {
        [self performSelectorInBackground:@selector(processAndSaveImage:) withObject:originalImage];
    }
}

3,在processAndSaveImage函数中,我做了两件事,A:在图片的合适位置添加创建时间。 B:保存处理后的图片到相册。

-(void)processAndSaveImage:(UIImage*)originalImage
{
    BOOL value = [SettingUtilityisShouldAtTimeAtPhotoing];
    UIImage* resultImage =[ImageUtilityaddTimeString:[DateUtilitygetFormatedDateStringOfToday] toCurrentImage:originalImagewithBoolValue:value];
    UIImageWriteToSavedPhotosAlbum(resultImage,nil, nil, nil);
}
说明:SettingUtility的作用判断是否需要在照片上添加时间(程序中可设置)。ImageUtility的作用是对图片进行处理,生成需要的图片,这里面比较复杂的是计算时间戳的位置,我的这个算法很鸡肋,不太好意思写出来,各位可自行设计。DateUtility的作用是获取格式化的当前时间,比如,2012-10-10,这个,大家都会的。

 

至此,拍照、存储照片的核心流程和设置已经说完了,写博客比写代码累多了,先休息一下,下一篇将分享获取以前拍摄过的照片的时间的功能。

 

谢谢、、、

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值