首页 > 代码库 > iOS图片上加标签或者水印
iOS图片上加标签或者水印
直接贴代码吧
UIImage+Text.h
#import <UIKit/UIKit.h> @interface UIImage (Text) - (UIImage*)addText:(NSString*)text1 XPos:(int)xpos YPos:(int)ypos fontName:(NSString*)fontName fontSize:(CGFloat)fontSize fontColor:(UIColor*)fontColor; @end
UIImage+Text.m
#import "UIImage+Text.h" @implementation UIImage (Text) - (UIImage*)addText:(NSString*)text1 XPos:(int)xpos YPos:(int)ypos fontName:(NSString*)fontName fontSize:(CGFloat)fontSize fontColor:(UIColor*)fontColor { int w = self.size.width; int h = self.size.height; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst); CGContextDrawImage(context, CGRectMake(0, 0, w, h), self.CGImage); CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1); char *txt = (char*)[text1 cStringUsingEncoding:NSUTF8StringEncoding]; char *font = (char*)[fontName cStringUsingEncoding:NSUTF8StringEncoding]; CGContextSelectFont(context, font, fontSize, kCGEncodingMacRoman); CGContextSetTextDrawingMode(context, kCGTextFill); CGContextSetFillColorWithColor(context, fontColor.CGColor); CGContextShowTextAtPoint(context, xpos, ypos, txt, strlen(txt)); CGImageRef imageRef = CGBitmapContextCreateImage(context); CGContextSetAllowsAntialiasing(context, YES); UIImage *result = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); CGContextRelease(context); CGColorSpaceRelease(colorSpace); return result; } @end
调用举例
UIImage *img = [UIImage imageNamed:@"image.jpg"]; image.image = [img addText:text.text XPos:80 YPos:300 fontName:@"Georgia-Bold" fontSize:46.0 fontColor:[UIColor whiteColor]];
iOS图片上加标签或者水印
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。