1.加文字
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1 { //get image width and height int w = img.size.width; int h = img.size.height; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); //create a graphic context with CGBitmapContextCreate CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst); CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage); CGContextSetRGBFillColor(context, 0.0, 1.0, 1.0, 1); char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding]; CGContextSelectFont(context, "Georgia", 30, kCGEncodingMacRoman); CGContextSetTextDrawingMode(context, kCGTextFill); CGContextSetRGBFillColor(context, 255, 0, 0, 1); CGContextShowTextAtPoint(context, w/2-strlen(text)*5, h/2, text, strlen(text)); //Create image ref from the context CGImageRef imageMasked = CGBitmapContextCreateImage(context); CGContextRelease(context); CGColorSpaceRelease(colorSpace); return [UIImage imageWithCGImage:imageMasked]; }
2.加圖片
-(UIImage *)addImageLogo:(UIImage *)img text:(UIImage *)logo { //get image width and height int w = img.size.width; int h = img.size.height; int logoWidth = logo.size.width; int logoHeight = logo.size.height; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); //create a graphic context with CGBitmapContextCreate CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst); CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage); CGContextDrawImage(context, CGRectMake(w-logoWidth, 0, logoWidth, logoHeight), [logo CGImage]); CGImageRef imageMasked = CGBitmapContextCreateImage(context); CGContextRelease(context); CGColorSpaceRelease(colorSpace); return [UIImage imageWithCGImage:imageMasked]; // CGContextDrawImage(contextRef, CGRectMake(100, 50, 200, 80), [smallImg CGImage]); }
3.加半透明的浮水印
- (UIImage *)addImage:(UIImage *)useImage addImage1:(UIImage *)addImage1{ UIGraphicsBeginImageContext(useImage.size); [useImage drawInRect:CGRectMake(0, 0, useImage.size.width, useImage.size.height)]; [addImage1 drawInRect:CGRectMake(0, useImage.size.height-addImage1.size.height, addImage1.size.width, addImage1.size.height)]; UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return resultingImage; }
http://hi.baidu.com/peter_wwj/item/179cbe060c570e873c42e298