iOS图片加工---图片水印,图片裁剪和屏幕截图

来源:互联网 发布:grace评分软件下载 编辑:程序博客网 时间:2024/05/02 14:44

一.图片水印

    1.创建个UIImageView        @property (weak, nonatomic) IBOutlet UIImageView *neImage;    2.创建个方法实现水印功能        - (void)viewDidLoad {            [super viewDidLoad];            UIImage *bgImage = [UIImage imageNamed:@""];            //创建一个位图上下文            UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);            //将背景图片画入位图中            [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];            //将水印Logo画入背景图中            UIImage *waterIma = [UIImage imageNamed:@""];            [waterIma drawInRect:CGRectMake(bgImage.size.width - 40 - 5, bgImage.size.height - 40 - 5, 40, 40)];            //取得位图上下文中创建的新的图片            UIImage *newimage = UIGraphicsGetImageFromCurrentImageContext();            //结束上下文            UIGraphicsEndImageContext();                //在创建的ImageView上显示出新图片            self.neImage.image = newimage;            //压缩新照片为PNG格式的二进制数据            NSData *data = UIImagePNGRepresentation(newimage);            //将图片写入到手机存储中            NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];            [data writeToFile:path atomically:YES];    }

二.图片裁剪

    //1.加载原图        UIImage *oldImage = [UIImage imageNamed:@"me"];        //2.获取位图上下文        CGFloat bigCic = oldImage.size.width + 2 * 2;        UIGraphicsBeginImageContextWithOptions(CGSizeMake(bigCic, bigCic), NO, 0.0);        //3.画大圆        [[UIColor whiteColor] set];        CGContextRef ctx = UIGraphicsGetCurrentContext();        CGContextAddArc(ctx, bigCic * 0.5, bigCic * 0.5, bigCic * 0.5, 0, M_PI * 2, 0);        CGContextFillPath(ctx);        //4.画小圆        CGFloat smallCic = oldImage.size.width * 0.5;        CGContextAddArc(ctx, bigCic * 0.5 , bigCic * 0.5, smallCic, 0, M_PI * 2, 0);        CGContextClip(ctx);        //5.画图        [oldImage drawInRect:CGRectMake(2, 2, oldImage.size.width, oldImage.size.height)];        //6.获取新图        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();        //7.结束上下文        UIGraphicsEndImageContext();        //8.显示新图        self.IconView.image = newImage;        //9.写入到手机存储        NSData *data = UIImagePNGRepresentation(newImage);        NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"newClip.png"];        [data writeToFile:path atomically:YES];

三,屏幕截图

 //1.开启位图上下文UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);//2.渲染截图[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//3.获取新图UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();//4.写入到手机存储NSData *data = UIImagePNGRepresentation(newImage);NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"newClip.png"];[data writeToFile:path atomically:YES];//5.关闭上下文UIGraphicsEndImageContext();
1 0
原创粉丝点击