码迷,mamicode.com
首页 > 其他好文 > 详细

裁剪图片,截图,保存到相册,水印

时间:2015-09-14 00:17:53      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

// --- 裁剪圆形图片

-画带边框的圆形头像

    - (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");

 

// --- 屏幕截图

// 对控制器的viewlayer属性 进行操作

[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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!