- (UIImage *) imageWithStringWaterMark:(NSString*)markString inRect:(CGRect)rect color:(UIColor *)color font:(UIFont *)font
{
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0)
{
UIGraphicsBeginImageContextWithOptions([selfsize],NO, 0.0);// 0.0 for scale means "scale for device's main screen".
}
#else
if([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0)
{
UIGraphicsBeginImageContext([selfsize]);
}
#endif
//原图
[selfdrawInRect:CGRectMake(0, 0,self.size.width,self.size.height)];
//文字颜色
[color set];
//水印文字
[markString drawInRect:rect withFont:font];
UIImage *newPic = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returnnewPic;
}
#pragma mark - 加图片水印
-(UIImage*)imageWithLogoImage:(UIImage*)img logo:(UIImage*)logo
{
//get image width and height
intw = img.size.width;
inth = img.size.height;
intlogoWidth = logo.size.width;
intlogoHeight = logo.size.height;
CGColorSpaceRefcolorSpace =CGColorSpaceCreateDeviceRGB();
//create a graphic context with CGBitmapContextCreate
CGContextRefcontext =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), [logoCGImage]);
CGImageRefimageMasked =CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
return[UIImageimageWithCGImage:imageMasked];
//CGContextDrawImage(contextRef, CGRectMake(100, 50, 200, 80), [smallImg CGImage]);
}
#pragma mark -还是图片水印
- (UIImage*) imageWithWaterMask:(UIImage*)mask inRect:(CGRect)rect
{
#if __IPHONE_OS_VERSION_MAX_ALLOWED >=40000
if([[[UIDevicecurrentDevice]systemVersion]floatValue] >=4.0)
{
UIGraphicsBeginImageContextWithOptions([selfsize],NO,0.0);// 0.0 for scale means "scale for device's main screen".
}
#else
if([[[UIDevice currentDevice] systemVersion] floatValue] <4.0)
{
UIGraphicsBeginImageContext([selfsize]);
}
#endif
//原图
[selfdrawInRect:CGRectMake(0,0,self.size.width,self.size.height)];
//水印图
[maskdrawInRect:rect];
UIImage*newPic =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returnnewPic;
}
//加半透明的水印
-(UIImage*)imageWithTransImage:(UIImage*)useImage addtransparentImage:(UIImage*)transparentimg
{
UIGraphicsBeginImageContext(useImage.size);
[useImagedrawInRect:CGRectMake(0,0, useImage.size.width, useImage.size.height)];
[transparentimgdrawInRect:CGRectMake(0, useImage.size.height-transparentimg.size.height, transparentimg.size.width, transparentimg.size.height)blendMode:kCGBlendModeOverlayalpha:0.4f];
UIImage*resultingImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returnresultingImage;
}
网友评论