iOS oc-为图片加水印

2017-06-28  本文已影响23人  青菜白玉堂

1.传入图片及字体即可添加水印

-(UIImage *)watermarkImage:(UIImage *)img withName:(NSString *)name

{

NSString* mark = name;

int w = img.size.width;

int h = img.size.height;

UIGraphicsBeginImageContext(img.size);

[img drawInRect:CGRectMake(0, 0, w, h)];

NSDictionary *attr = @{

NSFontAttributeName: [UIFont boldSystemFontOfSize:20],  //设置字体

NSForegroundColorAttributeName : [UIColor redColor]      //设置字体颜色

};

//    [mark drawInRect:CGRectMake(0, 10, 80, 32) withAttributes:attr];                //左上角

//    [mark drawInRect:CGRectMake(w - 80, 10, 80, 32) withAttributes:attr];            //右上角

[mark drawInRect:CGRectMake(w - 80, h - 32 - 10, 80, 32) withAttributes:attr];  //右下角

//    [mark drawInRect:CGRectMake(0, h - 32 - 10, 80, 32) withAttributes:attr];        //左下角

UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return aimg;

}

2.用drawInRect很方便,图片、文字都可以加

// 画水印

- (UIImage *) imageWithWaterMask:(UIImage*)mask inRect:(CGRect)rect

{

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0)

{

UIGraphicsBeginImageContextWithOptions([self size], NO, 0.0); // 0.0 for scale means "scale for device's main screen".

}

#else

if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0)

{

UIGraphicsBeginImageContext([self size]);

}

#endif

//原图

[self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)];

//水印图

[mask drawInRect:rect];

UIImage *newPic = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newPic;

}

上一篇 下一篇

猜你喜欢

热点阅读