有时候上传图片要加唯一标识,简单的就是添加一个水印。这里水印我们讲文字,可以是当前系统时间、坐标、地理位置等
原理就是把一个字符串写到图片上,并且字(font)的大小由图片大小控制。
以下是封装好的一个类方法:
//NavView.m
+ (UIImage *) addText:(UIImage *)img text:(NSString *)mark {
int w = img.size.width;
int h = img.size.height;
UIGraphicsBeginImageContext(img.size);
[Orange set];
[img drawInRect:CGRectMake(0, 0, w, h)];
[[self showWater:mark] drawInRect:CGRectMake(0, 0.7*h, w, 0.5*h) withFont:[UIFont systemFontOfSize:w/11.0/1.5] lineBreakMode:NSLineBreakByCharWrapping alignment:NSTextAlignmentCenter];
//现在文字高度我设的时0.7*h的位置,字的大小是图片的宽度的2/3
UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return aimg;
}
eg.加水印的基础图片image(UIImage) 水印文字为mark
image=[NavView addText:image text: mark];