标签:
// --- 裁剪圆形图片
-画带边框的圆形头像
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
// -1.获取图片
UIImage* image = [UIImage imageNamed:@"me"];
// -2.margin
CGFloat margin = 10;
// -3.上下文大小
CGSize size = CGSizeMake(image.size.width + 2 * margin, image.size.height + 2 * margin);
// -4.开启图片上下文
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
// -5.获取图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// -6.圆心center
CGPoint arcCenter = CGPointMake(size.width * 0.5, size.height * 0.5);
// -7.半径
CGFloat radius = image.size.width * 0.5 + margin * 0.5;
// -8.画边框
CGContextAddArc(ctx, arcCenter.x, arcCenter.y, radius, 0, 2 * M_PI, 1);
// -9.设置宽度
CGContextSetLineWidth(ctx, margin);
// -10.渲染边框
CGContextStrokePath(ctx);
// -11.画需要裁剪的区域
CGContextAddArc(ctx, arcCenter.x, arcCenter.y, image.size.width * 0.5, 0, 2 * M_PI, 1);
// -12.裁剪
CGContextClip(ctx);
// -13.画头像
[image drawAtPoint:CGPointMake(margin, margin)];
// -14.获取当前image
image = UIGraphicsGetImageFromCurrentImageContext();
// -15.关闭图片上下文
UIGraphicsEndImageContext();
// -16.赋值
self.imageView.image = image;
}
// 保存到相册
// 第一个:图片
// 第二个 第三个 监听 注意:@selector 不能随便写 使用"注释"当中的方法
// 第四个: 可以把它当做一个tag来使用 参数在监听的方法当中会传入
UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), @"hello1111");
// --- 屏幕截图
// 对控制器的view的layer属性 进行操作
[self.view.layer renderInContext:ctx];
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
// 开启图片上下文
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);
// 获取当前的图片上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 截图
[self.view.layer renderInContext:ctx];
// 取图片
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭
UIGraphicsEndImageContext();
// 保存到相册
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
// 0.水印
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
// 打水印儿
// 获取需要水印的图片
UIImage* image = [UIImage imageNamed:@"hhkb"];
// 开启图片类型的上下文
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
// 把需要水印的图片 画到上下文当中
[image drawAtPoint:CGPointZero];
// 文字水印的内容
NSString* str = @"传智播客iOS";
// 画 文字 同时设置文字的一些参数
[str drawAtPoint:CGPointMake(30, 30) withAttributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:30], NSForegroundColorAttributeName : [UIColor whiteColor] }];
// 图片水印的内容
UIImage* logo = [UIImage imageNamed:@"logo"];
// 画 图片水印
[logo drawAtPoint:CGPointMake(image.size.width - 200 - 30, image.size.height - 80 - 30)];
// 获取图片
image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭上下文
UIGraphicsEndImageContext();
// 保存到相册当中
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
标签:
原文地址:http://www.cnblogs.com/xhc1263478959/p/4805918.html