【iOS开发-quartz2d】制作图片水印

来源:互联网 发布:市政工程计算软件 编辑:程序博客网 时间:2024/06/10 10:09

由两张图片合成一张带有水印的图片

    UIImage *bgImage = [UIImage imageNamed:bg];    // 1.创建一个基于位图的上下文(开启一个基于位图的上下文)    UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);    // 2.画背景    [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];    // 3.画右下角的水印    UIImage *waterImage = [UIImage imageNamed:logo];    CGFloat scale = 0.2;    CGFloat margin = 5;    CGFloat waterW = waterImage.size.width * scale;    CGFloat waterH = waterImage.size.height * scale;    CGFloat waterX = bgImage.size.width - waterW - margin;    CGFloat waterY = bgImage.size.height - waterH - margin;    [waterImage drawInRect:CGRectMake(waterX, waterY, waterW, waterH)];    // 4.从上下文中取得制作完毕的UIImage对象    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    // 5.结束上下文    UIGraphicsEndImageContext();// 7.将image对象压缩为PNG格式的二进制数据    NSData *data = UIImagePNGRepresentation(newImage);    //    UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>)    // 8.写入文件    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];    [data writeToFile:path atomically:YES];    return newImage;
0 0
原创粉丝点击