iOS中怎样给图片右下角打水印

来源:互联网 发布:mac版安卓手机助手 编辑:程序博客网 时间:2024/05/02 17:19

1、首先对自带的UIImage进行分类(Category)

.h文件如下

////  UIImage+Mo.h//  图片水印////  Created by MoPellet on 15/4/22.//  Copyright (c) 2015年 MoPellt. All rights reserved.//#import <UIKit/UIKit.h>@interface UIImage (Mo)+(instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo scale:(CGFloat )scale  margin :(CGFloat)margin;@end

2、实现方法 .m文件如下

////  UIImage+Mo.m//  图片水印////  Created by 万子文 on 15/4/22.//  Copyright (c) 2015年 MoPellt. All rights reserved.//#import "UIImage+Mo.h"@implementation UIImage (Mo)//打水印在图片的右下角  bg:背景图片 logo:水印图片 scale:水印图片缩放比例 margin:<span style="font-family: Arial, Helvetica, sans-serif;">距离右边和下边的距离</span>
+(instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo scale:(CGFloat)scale margin:(CGFloat)margin{        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 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();    return newImage;}@end






0 0
原创粉丝点击