添加文字和水印
?
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; }
轉載于:https://www.cnblogs.com/tian-sun/p/5019901.html
總結
- 上一篇: Android自定义view之圆形进度条
- 下一篇: jQuery表格排序总成-tableso