@implementation UIImage (Water)
+ (instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo
{
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.5;
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();
return newImage;
}
@end
本文介绍如何使用Objective-C编程语言实现一个自定义的UIImage类方法,该方法可以将一个水印图片添加到背景图片上,并调整水印的位置和大小。通过此方法,用户可以在iOS应用中轻松地为图片添加个性化水印。
690

被折叠的 条评论
为什么被折叠?



