文档章节

裁剪图片并保存到相册中

如若初见
 如若初见
发布于 2016/04/11 21:42
字数 257
阅读 51
收藏 4

1.加载要裁剪的图片

2.开启一个和图片一样大小的图像上下文(bitmap 图片类型的上下文)

 UIGraphicsBeginImageContextWithOptions(ctxSize, NO, 0.0);

3.获取刚刚开启的图像上下文

 CGContextRef ctx = UIGraphicsGetCurrentContext();

4.创建一个圆形路径

 UIBezierPath * path1 = [UIBezierPath bezierPathWithArcCenter:centerP radius:radius startAngle:0 endAngle:2 * M_PI clockwise:YES];

5.把路径添加到图像上下文中

 CGContextAddPath(ctx, path1.CGPath);

6.执行裁剪

 CGContextClip(ctx);

6.1把图片绘制到图像上下文中

 [image drawAtPoint:CGPointMake(margin, margin)];

7.从图像上下文中获取图片

 UIImage * getImage = UIGraphicsGetImageFromCurrentImageContext();

8.关闭图形上下文

 UIGraphicsEndImageContext();

9.显示图片

self.imageView.image = getImage;

10.保存相册

UIImageWriteToSavedPhotosAlbum(getImage, self, @selector(image:didFinishSavingWithError:contextInfo:), @"hello word");


//写入相册一定实现该方法

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
{
//     NSLog(@"保存成功 %@",contextInfo);

} 

11.保存到沙盒中

 NSString * docuStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
   
//拼接文件名

NSString * fileName = [docuStr stringByAppendingPathComponent:@"001.png"];


//把图片转化为NSData类型
   
NSData * imageData = UIImagePNGRepresentation(getImage);
   

    [imageData writeToFile:fileName atomically:YES];


© 著作权归作者所有

如若初见
粉丝 20
博文 30
码字总数 22876
作品 0
私信 提问
iOS-拍照后裁剪,不可拖动照片的问题

问题 在项目中,选择照片或拍照的功能很长见,由于我之前采用系统自带的UIimagePickViewController遇到一点问题: 使用拍照功能,进行截取时时,拍照完成的图片无法拖动,没有办法进行选择性的截取...

jins_1990
2016/07/08
0
0
Android-图片的选择,裁剪,压缩,适配高版本

趁着国庆有时间我们来聊一聊最常用的选取用户图片一系列的功能,go! 效果展示 效果展示链接 1.图片的选取 拍照 我们之前设置拍照保存的文件地址的Uri,都是直接Intent.putExtra(MediaStore.EX...

猴亮屏
01/18
52
0
Android大图片裁剪终极解决方案(中:从相册截图)

转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/86853 在这篇博客中,我将向大家展示如何从相册截图。 ...

RyanHoo
2012/11/03
15.8K
14
Android大图片裁剪解决方案

截图原理 在Android中,Intent触发Camera程序,拍好照片后,将会返回数据,但是考虑到内存问题,Camera不会将全尺寸的图像返回给调用的Activity,一般情况下,有可能返回的是缩略图,比如120...

今日竹石
2014/04/15
391
0
最后的一页/TakePhoto

TakePhoto 简介 是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前最新版本4.0.3。 3.0以下版本及API说明,详见TakePhoto2.0+。 Take...

最后的一页
2017/09/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS盒子模型

一、什么叫框模型 页面元素皆为框(盒子) 定义了元素框处理元素内容,内边距,外边距以及边框的计算方式 二、外边距 围绕在元素边框外的空白距离(元素与元素之间的距离) 语法:margin,定...

wytao1995
今天
4
0
Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
今天
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部