【代码】将一张正方形头像裁剪为原型,并保存在沙盒中
来源:互联网 发布:中箭mod 知乎 编辑:程序博客网 时间:2024/06/01 07:49
//创建一个图片
UIImage *image = [UIImageimageNamed:@"123"];
//获取一个和图片一样大小的上下文对象
UIGraphicsBeginImageContextWithOptions(image.size,NO, 0.0);
//获取上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//***********绘制图形************
//定义圆心和坐标
CGPoint centerP = CGPointMake(image.size.width*0.5, image.size.height*0.5);
CGFloat radius = MIN(image.size.width*0.5, image.size.height*0.5);
//绘制一个图形路径
UIBezierPath *path = [UIBezierPathbezierPathWithArcCenter:centerP radius:radiusstartAngle:0 endAngle:M_PI*2clockwise:YES];
//添加到图形上下文中
CGContextAddPath(ctx, path.CGPath);
//裁剪图片
CGContextClip(ctx);
//做一个空心渲染
CGContextDrawPath(ctx,kCGPathStroke);
//将图片添加到上下文中
[image drawAtPoint:CGPointZero];
//从上下文中获取裁剪好的图片
UIImage* imageClip =UIGraphicsGetImageFromCurrentImageContext();
//创建一个正方形区域裁剪
CGFloat x = (image.size.width - radius*2)*0.5;
CGFloat y =(image.size.height - radius*2)*0.5;
CGFloat width = radius *2;
CGFloat height = width;
//将屏幕的点转换成像素
CGFloat scale = [UIScreenmainScreen].scale;
x *= scale;
y *= scale;
width *= scale;
height *= scale;
CGRect clipRect = CGRectMake(x, y, width, height);
//裁剪正方形区域的图片
CGImageRef cgimgcliped =CGImageCreateWithImageInRect(imageClip.CGImage, clipRect);
imageClip = [UIImage imageWithCGImage:cgimgcliped];
//关闭上下文路径
UIGraphicsEndImageContext();
//**************将图片保存到沙盒中*****************
//获取沙盒路径
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)lastObject];
NSString* filename = [docPathstringByAppendingPathComponent:@"111.png"];
NSLog(@"%@",docPath);
//将文件转换成二进制流文件
NSData* clipPng =UIImagePNGRepresentation(imageClip);
//将文件写入沙盒中的Document目录
[clipPng writeToFile:filename atomically:YES];
NSLog(@"写入成功");
- 【代码】将一张正方形头像裁剪为原型,并保存在沙盒中
- iOS 调用相机 ,相册获取图片 并裁剪为正方形
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。并读取出来。
- 裁剪头像为圆形
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。
- opencv将一张图片裁剪为很多张图片
- 居中裁剪 image 为正方形
- js将html生成为图片,并保存在本地
- Android 选择并裁剪头像
- 将图片居中剪裁为正方形,并画圆角
- iOS 裁剪头像为圆形
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- picasso 将图片裁剪成一个正方形
- Swing 将显示好的JPanel保存为一张图片
- Android裁剪bitmap文件为正方形
- 保存qq头像代码
- android开发步步为营之88:基于LruCache和AsyncTask的网络相册开发
- 黑马程序员——java学习起始
- 【C】使用位运算符写一个整数计算器(图解)
- 关于interrupt,interrupted,isInterrupted的一点看法。
- mybatis报错:当要返回刚刚插入数据的id时
- 【代码】将一张正方形头像裁剪为原型,并保存在沙盒中
- UVA10048 Audiophobia (floyd变形)
- Chessboard(HDUOJ_5100)
- base64加密解密
- 【jQuery】使用ajaxStart()和ajaxStop()方法
- 数组内存存储细节
- cocoapod
- 科普:手机5G WiFi 那些事(二)
- WiFi 信号强度和网速有关系吗?