iOS 图片水印

219 阅读1分钟
#import "ViewController.h"

@interface ViewController ()

@property(strong,nonatomic)UIImageView *imgView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.imgView = [[UIImageView alloc] initWithFrame:self.view.frame];
    [self.view addSubview:self.imgView];
    
    //加载图片
    UIImage *image = [UIImage imageNamed:@""];

    //1、获取上下文,之前的上下文都是在View的drawRect方法获取(跟View相关联的上下文,layer上下文)
    //目前我们需要绘制图片到新的图片上,因此需要用到位图上下文
    //怎样获取上下文,注意位图上下文的获取方式跟layer上下文获取方式不一样。位图上下文需要我们手动创建
    //开启一个位图上下文,注意位图上下文跟View没有关联,所以不需要再drawRect
    //size:位图上下文的尺寸,opaque:yes表示不透明  no:表示透明
    //scale:通常不需要缩放上下文。取值0
    UIGraphicsBeginImageContextWithOptions(image.size , NO, 0);
    
    //绘制原生的图片
    [image drawAtPoint:CGPointZero];
    //给原生的照片添加文字
    NSString *str = @"世上无难事,只要肯放弃";
    
    [str drawAtPoint:CGPointMake(200, 528) withAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]}];
    
    //生成一张照片给我们,从上下文获取照片
    UIImage *imageWhat = UIGraphicsGetImageFromCurrentImageContext();
    
    //关闭上下文
    UIGraphicsEndImageContext();
    
    self.imgView.image = imageWhat;
  
}