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

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值