iOS-为图像添加水印效果

/**    
  * 加文字随意@param logoImage 需要加文字的图片@param watemarkText 文字描述@returns 加好文字的图片 
  */
- (UIImage *)addWatemarkTextAfteriOS7_WithLogoImage:(UIImage *)logoImage watemarkText:(NSString *)watemarkText{    
    int w = logoImage.size.width;    
    int h = logoImage.size.height;    
    UIGraphicsBeginImageContext(logoImage.size);
    [[UIColor whiteColor] set];
    [logoImage drawInRect:CGRectMake(0, 0, w, h)];
    UIFont * font = [UIFont systemFontOfSize:18.0];
    [watemarkText drawInRect:CGRectMake(10, 55, 130, 80) withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:[UIColor whiteColor]}];
    UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}
/**
  * 加图片水印@param logoImage 需要加水印的logo图片@param watemarkImage 水印图片@returns 加好水印的图片 
  */
- (UIImage *)addWatemarkImageWithLogoImage:(UIImage *)logoImage watemarkImage:(UIImage *)watemarkImage logoImageRect:(CGRect)logoImageRect watemarkImageRect:(CGRect)watemarkImageRect{    
    // 创建一个graphics context来画我们的东西    
    UIGraphicsBeginImageContext(logoImageRect.size);    
    // graphics context就像一张能让我们画上任何东西的纸。我们要做的第一件事就是把person画上去    
    [logoImage drawInRect:CGRectMake(0, 0, logoImageRect.size.width, logoImageRect.size.height)];    
    // 然后在把hat画在合适的位置    
    [watemarkImage drawInRect:CGRectMake(watemarkImageRect.origin.x, watemarkImageRect.origin.y, watemarkImageRect.size.width, watemarkImageRect.size.height)];    
    // 通过下面的语句创建新的UIImage    
    UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();    
   // 最后,我们必须得清理并关闭这个再也不需要的context    
    UIGraphicsEndImageContext();
    return newImage;
}
/**
  * 加半透明水印@param logoImage 需要加水印的图片@param translucentWatemarkImage 水印@returns 加好水印的图片 
  */
- (UIImage *)addWatemarkImageWithLogoImage:(UIImage *)logoImage translucentWatemarkImage:(UIImage *)translucentWatemarkImage logoImageRect:(CGRect)logoImageRect translucentWatemarkImageRect:(CGRect)translucentWatemarkImageRect{    
    UIGraphicsBeginImageContext(logoImage.size);    [logoImage drawInRect:CGRectMake(0, 0, logoImage.size.width, logoImage.size.height)];       
    // 四个参数为水印的位置    
    [translucentWatemarkImage drawInRect:CGRectMake(logoImage.size.width - 110, logoImage.size.height - 25, 100, 25)];    
    UIImage * resultingImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();    
    return resultingImage;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载请联系作者获取授权,并标明文章作者,谢谢! 核心技术:CoreGraphics绘图。闲话少说,上代码。 下面我...
    OliviaZqy阅读 13,132评论 11 33
  • 主要用时验证照片的真实性 以及照片版权等类信息 +(UIImage)YHWaterMarkImage:(UIIma...
    pinksnow阅读 2,962评论 0 0
  • 先进行效果展示: 以下是主要代码部分: 1:找到GIF图片的数组 -(NSArray *)imagesWithGi...
    icc_tips阅读 7,865评论 0 8
  • 连日下雨。看着车灯下的雨很大。下车后。走在树下感觉遮蔽掉了好多。走到屋檐下更安全了。过十字路口也有大树。 今天自习...
    0401阅读 1,693评论 0 0
  • 日夜有心 太阳 月亮 一样伟大 骄傲的单 温和的众 你愿发光发热?我不碍你 我只是一颗星星
    森林初青阅读 2,833评论 0 0

友情链接更多精彩内容