您的位置:首页 > 移动开发 > IOS开发

【深入浅出IOS开发】设置图片水印

2015-03-31 09:16 295 查看
设置图片水印的本质就是将两张图片混合成一个图片。

可以通过以下步骤来进行设置;

①创建一个基于位图的上下文(开启一个基于位图的上下文)

void UIGraphicsBeginImageContextWithOptions ( CGSize size, BOOL opaque, CGFloat scale )

size表示图层的大小,一般设置成背景图的大小

opaque表示是否透明:YES不透明 NO透明

scale表示缩放:0.0表示不缩放

②设置背景图片

③设置Logo图片

④从上下文中取得制作完毕的UIImage对象

UIImage * UIGraphicsGetImageFromCurrentImageContext ( void );

⑤关闭图层上下文

void UIGraphicsEndImageContext ( void );

⑥将图片格式转换为NSData

⑦然后保存到相关路径下面

[objc] view
plaincopy

- (void)testWater  

{  

    UIImage *bgImage = [UIImage imageNamed:@"scene"];  

      

      

    // 1.创建一个基于位图的上下文(开启一个基于位图的上下文)  

    // size : 新图片的尺寸  

    // opaque : YES : 不透明,  NO : 透明  

    // 这行代码过后.就相当于常见一张新的bitmap,也就是新的UIImage对象  

    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();  

      

    // 6.显示到UIImageView  

    self.iconView.image = newImage;  

      

    // 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];  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图形 ios uiview 绘图 图片
相关文章推荐