iOS-图片水印效果

这次只是一个图片水印效果的小案例,不废话,直接看代码:

1.Logo图片水印(就是在一个背景图片上水印上一张logo图片)

- (void)viewDidLoad
{
    [super viewDidLoad];

    
    // 0. 加载背景图片
    UIImage *image = [UIImage imageNamed:@"bj"];
    
    // 1.创建bitmap上下文
    // 执行完这一行在内存中就相遇创建了一个UIImage
    UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
    
    // 2.绘图图片
    // 绘制背景图片
    [image drawAtPoint:CGPointMake(0, 0)];
    
    // 3.绘制水印Logo
    
    UIImage *logImage = [UIImage imageNamed:@"logo"];
    
    CGFloat margin = 10;
    CGFloat logY = margin;
    CGFloat logX = image.size.width - margin - logImage.size.width;
    [logImage drawAtPoint:CGPointMake(logX, logY)];
    
    // 4.获得图片
    UIImage *newImage =  UIGraphicsGetImageFromCurrentImageContext();
    
    // 5.将图片写到文件中
    
    NSString *path = @"/Users/apple/Desktop/abc.png";
    
    NSData *data = UIImagePNGRepresentation(newImage);
    [data writeToFile:path atomically:YES];

}

效果:

 

2.文字水印

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 0. 加载背景图片
    UIImage *image = [UIImage imageNamed:@"psb"];
    
    // 1.创建bitmap上下文
    // 执行完这一行在内存中就相遇创建了一个UIImage
    UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
    
    // 2.绘图图片
    // 2.1绘制背景图片
    [image drawAtPoint:CGPointMake(0, 0)];
    
    // 3绘制文字水印
    NSString *str = @"中国老板";
    [str drawAtPoint:CGPointMake(20, 80) withAttributes:nil];
    
    // 4.获得bitmap上下文中绘制号的图片
    UIImage *newImage =  UIGraphicsGetImageFromCurrentImageContext();
    
    // 5.将图片写到文件中
    NSString *path = @"/Users/wangxd/Desktop/abc.png";

    
    NSData *data = UIImagePNGRepresentation(newImage);
    [data writeToFile:path atomically:YES];

}

如图:

posted @ 2014-05-18 07:16  W.Sir  阅读(270)  评论(0编辑  收藏  举报