//创建图形上下文 UIGraphicsBeginImageContext(CGSizeMake(200, 200)); CGContextRef context = UIGraphicsGetCurrentContext(); UIImage *image = [UIImage imageNamed:@"1.png"]; [image drawInRect:CGRectMake(0, 0, 200, 200)]; //添加水印 NSString *str = @"我的图片"; [str drawInRect:CGRectMake(10, 10, 20, 180) withAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:16],NSForegroundColorAttributeName:[UIColor redColor]}]; //从当前图形上下文获取图片(将当前图形上下文转成图片) UIImage *changeImage = UIGraphicsGetImageFromCurrentImageContext(); //释放内存 CGContextRelease(context); //释放内存 UIGraphicsEndImageContext(); NSLog(@"%f",UIImagePNGRepresentation(changeImage).length/1024.f); UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, changeImage.size.width, changeImage.size.height)]; imageView.image = changeImage; [self.view addSubview:imageView]; //保存到相册(需要传入回调方法,回调方法格式有要求) UIImageWriteToSavedPhotosAlbum(changeImage, self, @selector(image:error:contextInfo:), nil); - (void)image:(UIImage *)image error:(NSError *)error contextInfo:(CGContextRef)context { if (error) { NSLog(@"保存失败!"); } else { NSLog(@"保存成功!"); } }
时间: 2024-10-06 05:39:38