IOS给图片添加水印(两种方式)

 更新时间:2015年08月05日 17:42:09   作者:终于等到Ni  
为了防止自己辛苦做的项目被别人盗走,采取把图片添加水印,在此表示图片的独一无二。加水印不是要在上面添加上几个Label,而是我们要把字画到图片上成为一个整体,下面这篇文章主要介绍IOS给图片添加水印,有需要的小伙伴可以来参考下

为了防止自己辛苦做的项目被别人盗走,采取图片添加水印,在此表示图片的独一无二。加水印不是在上面添加几个Label,而是我们把字画到图片上成为一个整体,下面小编给大家分享IOS给图片添加水印(两种方式)。

提供一个方法,此方法只需要传递一个要加水印的图片和水印的内容就达到效果。

第一种方式:

-(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(, , w, h)];
 
   NSDictionary *attr = @{
 
              NSFontAttributeName: [UIFont boldSystemFontOfSize:],  //设置字体
 
              NSForegroundColorAttributeName : [UIColor redColor]   //设置字体颜色
 
              };
 
   [mark drawInRect:CGRectMake(, , , ) withAttributes:attr];         //左上角
 
   [mark drawInRect:CGRectMake(w - , , , ) withAttributes:attr];      //右上角
 
   [mark drawInRect:CGRectMake(w - , h - - , , ) withAttributes:attr];  //右下角
 
   [mark drawInRect:CGRectMake(, h - - , , ) withAttributes:attr];    //左下角
 
   UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext();
 
   UIGraphicsEndImageContext();
 
   return aimg;
 
 }

第二种方式:用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; 
} 

以上叙述用两种方式实现IOS给图片添加水印,需要的朋友可以来参考下,希望大家能够喜欢。

相关文章

  • iOS给border设置渐变色的方法实例

    iOS给border设置渐变色的方法实例

    这篇文章主要给大家介绍了关于iOS给border设置渐变色的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • iOS多线程应用开发中自定义NSOperation类的实例解析

    iOS多线程应用开发中自定义NSOperation类的实例解析

    这篇文章主要介绍了iOS多线程应用开发中自定义NSOperation类的实例解析,代码基于传统的Objective-C,需要的朋友可以参考下
    2016-01-01
  • 配置mac启动项的3种方式总结

    配置mac启动项的3种方式总结

    这篇文章主要给大家介绍了关于配置mac启动项的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • Mac下获取AppStore安装包文件路径

    Mac下获取AppStore安装包文件路径

    本文介绍了Mac下如何找到AppStore下载的安装包路径,以及如何提取出来供以后使用的相关步骤,希望对大家有所帮助。
    2016-09-09
  • Xcode8 打印一堆log去除方法

    Xcode8 打印一堆log去除方法

    这篇文章主要介绍了Xcode8 打印一堆log去除方法的相关资料,需要的朋友可以参考下
    2016-10-10
  • iOS实现对不同分辨率设备的字号大小适配方法

    iOS实现对不同分辨率设备的字号大小适配方法

    下面小编就为大家分享一篇iOS实现对不同分辨率设备的字号大小适配方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • iOS实现可拖动的浮动菜单

    iOS实现可拖动的浮动菜单

    这篇文章主要为大家详细介绍了iOS实现可拖动的浮动菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 详解在iOS App中自定义和隐藏状态栏的方法

    详解在iOS App中自定义和隐藏状态栏的方法

    这篇文章主要介绍了在iOS App中自定义和隐藏状态栏的方法,在顶部时某些状况下即用应用内的状态栏覆盖系统本身的,代码示例为Objective-C语言,需要的朋友可以参考下
    2016-03-03
  • 使用IOS AirPrint实现打印功能详解

    使用IOS AirPrint实现打印功能详解

    这篇文章主要介绍了使用IOS AirPrint实现打印功能详解,想了解无线打印的同学,一定要看一下
    2021-04-04
  • iOS获取当前连接的wifi信息

    iOS获取当前连接的wifi信息

    这篇文章主要为大家详细介绍了iOS如何获取当前连接的wifi信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07

最新评论