`
dcj3sjt126com
  • 浏览: 1878737 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS-给图片添加水印效果的方法并保存图片到指定路径

    博客分类:
  • IOS
阅读更多

这里介绍两种方法:

方法一:添加文字水印,这里说的文字水印是指将开发者定义的文字直接添加到图片上,代码如下:

UIImage *img = [UIImage imageNamed:@"3G_alert.png"];  //需要加水印的图片
    CGSize size = self.view.frame.size; //设置上下文(画布)大小
    UIGraphicsBeginImageContext(size); //创建一个基于位图的上下文(context),并将其设置为当前上下文
    CGContextRef contextRef = UIGraphicsGetCurrentContext(); //获取当前上下文
    NSString *title = @"舵手网络";  //需要添加的水印文字
    CGContextTranslateCTM(contextRef, 0, self.view.bounds.size.height);  //画布的高度
    CGContextScaleCTM(contextRef, 1.0, -1.0);  //画布翻转
    CGContextDrawImage(contextRef, self.view.frame, [img CGImage]);  //在上下文种画当前图片
 
    [[UIColor redColor] set];  //上下文种的文字属性
    CGContextTranslateCTM(contextRef, 0, self.view.bounds.size.height);
    CGContextScaleCTM(contextRef, 1.0, -1.0);
    UIFont *font = [UIFont boldSystemFontOfSize:40];
    [title drawInRect:CGRectMake(100, 400, 200, 80) withFont:font];
    UIImage *res =UIGraphicsGetImageFromCurrentImageContext();  //从当前上下文种获取图片
    UIGraphicsEndImageContext(); //移除栈顶的基于当前位图的图形上下文。
    NSArray *savePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *p = [savePath objectAtIndex:0];
    NSLog(@"%@",p);
    NSString *dataFilePath = [p stringByAppendingPathComponent:@"1.png"];
 
    NSData *imageData = UIImagePNGRepresentation(res);
    [imageData writeToFile:dataFilePath atomically:YES];
 
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [imageView setImage:res];
    [self.view addSubview:imageView];

 方法二:添加图片水印,顾名思义,就是两张图片,一张原图,一张水印图片,代码如下:

 UIImage *img = [UIImage imageNamed:@"demo.jpg"];  //需要加水印的图片
    UIImage *smallImg = [UIImage imageNamed:@"water.png"];
    CGSize size = self.view.frame.size; //设置上下文(画布)大小
    UIGraphicsBeginImageContext(size); //创建一个基于位图的上下文(context),并将其设置为当前上下文
    CGContextRef contextRef = UIGraphicsGetCurrentContext(); //获取当前上下文
    CGContextTranslateCTM(contextRef, 0, self.view.bounds.size.height);  //画布的高度
    CGContextScaleCTM(contextRef, 1.0, -1.0);  //画布翻转
 
    CGContextDrawImage(contextRef, self.view.frame, [img CGImage]);  //在上下文种画当前图片
    CGContextDrawImage(contextRef, CGRectMake(100, 50, 200, 80), [smallImg CGImage]);
    UIImage *res = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext(); //移除栈顶的基于当前位图的图形上下文。
    NSArray *savePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *p = [savePath objectAtIndex:0];
    NSLog(@"%@",p);
    NSString *dataFilePath = [p stringByAppendingPathComponent:@"1.png"];
 
    NSData *imageData = UIImageJPEGRepresentation(res, 1.0);
    [imageData writeToFile:dataFilePath atomically:YES];
 
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [imageView setImage:res];
    [self.view addSubview:imageView];

 

分享到:
评论

相关推荐

    ios-给图片添加滤镜.zip

    在iOS开发中,给图片添加滤镜是一种常见的图像处理操作,可以用于增强照片的视觉效果或者实现各种创意设计。这个“ios-给图片添加滤镜.zip”文件很可能包含了一个简单的图片处理示例项目,名为...

    按键精灵IOS手机版图片加水印

    按键精灵手机版IOS,图片加水印源码,可实现给图片加水印。把水印图片加到主图片里面。暂时只支持IOS系统。

    ios开发 图片添加水印(修复版) 透明附下载

    在iOS开发中,为图片添加水印是一项常见的需求,无论是为了版权保护,还是为了增加视觉效果,水印功能都有其重要性。在这个“ios开发 图片添加水印(修复版)”的主题中,我们将深入探讨如何在Objective-C或Swift中...

    ios-视频导出添加水印、粒子特效.zip

    图片选择框架新增 从相册中选择视频,导出时候可指定尺寸、添加水印、粒子特效(如下雪特效)等功能; github链接:https://github.com/longitachi/ZLPhotoBrowser

    ios-视频水印.zip

    在iOS平台上,为视频添加水印是一项常见的任务,尤其对于那些需要个性化定制或者版权保护的视频内容。这个“ios-视频水印.zip”压缩包很可能包含了一个示例项目或者库,用于演示如何利用AVFoundation框架来实现视频...

    ios-水印背景.zip

    在iOS开发中,添加水印是一项常见的需求,无论是图片还是屏幕背景,有时都需要加入自定义的标识或版权信息。这个名为"ios-水印背景.zip"的资源包提供了一个名为YHWaterMark的项目,它是一个开源库,专门用于在iOS...

    ios-多选图片.zip

    这个功能通常涉及到图片库的访问权限、图片预览、选择限制以及最终的图片上传等多个环节。 1. 图片库访问权限:在iOS中,为了保护用户的隐私,从照片库中选择图片需要获取相应的权限。开发者需要在Info.plist文件中...

    ios-截取图片指定部分.zip

    6. **显示或保存**:你可以将croppedUIImage添加到UIImageView中展示,或者保存到用户的相册。 这个“testcutpic”文件可能是一个实际的Swift或Objective-C代码文件,展示了上述步骤的具体实现。在实际项目中,你...

    iOS-展示图片效果-20preview-transition

    当涉及到图片预览时,一种常见的做法是使用UIPreviewAction和UIPreviewActionItem,这是iOS中的预览交互功能,让用户能够在不离开当前界面的情况下预览内容。你可以创建一个UIPreviewAction对象,设置其标题和执行...

    ios开发 图片添加水印(修复版) 透明水印 文字水印

    在iOS开发中,为图片添加水印是一项常见的需求,无论是为了保护版权,还是为了增加视觉效果。本教程将深入探讨如何在iOS应用中实现图片的文本水印和透明水印功能。 首先,我们需要理解基本概念。水印通常是指在图片...

    swift-iOS图片精确提取主色调算法iOS-Palette

    `swift-iOS图片精确提取主色调算法iOS-Palette`项目提供了一种高效的方法来实现这一功能,尤其适用于Swift开发者。这个项目的核心是通过算法分析图像像素,找出最能代表图片整体色彩的主色调。 iOS-Palette库使用了...

    swift-ZZImageAddWatermark图片添加文字水印图片水印自定义二维码生成水印

    ZZImageAddWatermark是一个专门为Swift开发者设计的库,它提供了方便的功能,让你能够为图片添加文字水印、图片水印,甚至自定义生成二维码,并将这些水印应用到图片上。这个库对于那些需要在应用中实现图片编辑功能...

    Unity 保存图片到IOS相册

    在Unity引擎中,将图片保存到iOS设备的相册是一个常见的需求,特别是在开发移动游戏或应用时。这个过程涉及到对iOS系统的照片库访问权限的管理、C#编程以及Unity与原生iOS平台的交互。以下是对这个主题的详细阐述: ...

    ios开发UIImage category实现添加水印(图片和文字)

    在iOS开发中,经常需要对图片进行处理,例如添加水印,这可以是文字或者图形。UIImage Category是一种优雅的方式,可以扩展UIImage的功能,无需修改原生类,方便地实现水印功能。本教程将深入讲解如何通过Category...

    ios-collectionView实现3D滚动图片效果.zip

    在本示例中,"ios-collectionView实现3D滚动图片效果.zip" 文件提供了一个实现3D滚动效果的代码示例。这种效果通常用于增加用户交互性和视觉吸引力,比如在应用的启动屏幕、产品展示或照片浏览等场景。 首先,我们...

    iOS-多媒体-录制特效影片保存到相册-29GPUImage8-record

    "iOS-多媒体-录制特效影片保存到相册-29GPUImage8-record"这个项目着重于使用GPUImage框架来实现动态视频录制并添加实时特效,最终将处理后的影片保存至用户的设备相册。下面将详细介绍这一过程涉及的关键知识点。 ...

    ios-下拉图片放大.zip

    在Swift中,我们可以为UITableView添加一个`scrollViewDidScroll`代理方法,通过计算滚动的位置和图片的原始大小来动态改变图片的frame或transform属性,从而实现放大效果。例如: ```swift func ...

    《 iOS-checkIPA 》ipa 文件信息检查工具

    2、使用方法:桌面双击启动 或命令行启动 benjamin> java -jar /iOS-checkIPA.jar 3、GUI界面启动后,点击获取IPA信息弹出文件选择弹窗选择待检查的ipa文件信息,点击确认即可 4、读取ipa文件信息如:名称、包名、...

    ios-实现从相册和相机获取图片 并能保存到本地.zip

    在iOS开发中,从相册和相机获取图片并保存到本地是常见的功能需求。这个压缩包文件"ios-实现从相册和相机获取图片 并能保存到本地.zip"提供了一个简单的实现方案,包含了手势交互的功能。以下是关于这些知识点的详细...

    ios-自定义图片浏览器.zip

    "ios-自定义图片浏览器.zip" 提供了一个解决方案,通过自定义Model效果来实现实现大图浏览的功能。这个功能通常涉及到视图动画,使得用户在查看图片时能够享受到平滑的过渡和交互体验。下面我们将深入探讨相关的知识...

Global site tag (gtag.js) - Google Analytics