这里介绍两种方法:
方法一:添加文字水印,这里说的文字水印是指将开发者定义的文字直接添加到图片上,代码如下:
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开发中,给图片添加滤镜是一种常见的图像处理操作,可以用于增强照片的视觉效果或者实现各种创意设计。这个“ios-给图片添加滤镜.zip”文件很可能包含了一个简单的图片处理示例项目,名为...
按键精灵手机版IOS,图片加水印源码,可实现给图片加水印。把水印图片加到主图片里面。暂时只支持IOS系统。
在iOS开发中,为图片添加水印是一项常见的需求,无论是为了版权保护,还是为了增加视觉效果,水印功能都有其重要性。在这个“ios开发 图片添加水印(修复版)”的主题中,我们将深入探讨如何在Objective-C或Swift中...
图片选择框架新增 从相册中选择视频,导出时候可指定尺寸、添加水印、粒子特效(如下雪特效)等功能; github链接:https://github.com/longitachi/ZLPhotoBrowser
在iOS平台上,为视频添加水印是一项常见的任务,尤其对于那些需要个性化定制或者版权保护的视频内容。这个“ios-视频水印.zip”压缩包很可能包含了一个示例项目或者库,用于演示如何利用AVFoundation框架来实现视频...
在iOS开发中,添加水印是一项常见的需求,无论是图片还是屏幕背景,有时都需要加入自定义的标识或版权信息。这个名为"ios-水印背景.zip"的资源包提供了一个名为YHWaterMark的项目,它是一个开源库,专门用于在iOS...
这个功能通常涉及到图片库的访问权限、图片预览、选择限制以及最终的图片上传等多个环节。 1. 图片库访问权限:在iOS中,为了保护用户的隐私,从照片库中选择图片需要获取相应的权限。开发者需要在Info.plist文件中...
6. **显示或保存**:你可以将croppedUIImage添加到UIImageView中展示,或者保存到用户的相册。 这个“testcutpic”文件可能是一个实际的Swift或Objective-C代码文件,展示了上述步骤的具体实现。在实际项目中,你...
当涉及到图片预览时,一种常见的做法是使用UIPreviewAction和UIPreviewActionItem,这是iOS中的预览交互功能,让用户能够在不离开当前界面的情况下预览内容。你可以创建一个UIPreviewAction对象,设置其标题和执行...
在iOS开发中,为图片添加水印是一项常见的需求,无论是为了保护版权,还是为了增加视觉效果。本教程将深入探讨如何在iOS应用中实现图片的文本水印和透明水印功能。 首先,我们需要理解基本概念。水印通常是指在图片...
`swift-iOS图片精确提取主色调算法iOS-Palette`项目提供了一种高效的方法来实现这一功能,尤其适用于Swift开发者。这个项目的核心是通过算法分析图像像素,找出最能代表图片整体色彩的主色调。 iOS-Palette库使用了...
ZZImageAddWatermark是一个专门为Swift开发者设计的库,它提供了方便的功能,让你能够为图片添加文字水印、图片水印,甚至自定义生成二维码,并将这些水印应用到图片上。这个库对于那些需要在应用中实现图片编辑功能...
在Unity引擎中,将图片保存到iOS设备的相册是一个常见的需求,特别是在开发移动游戏或应用时。这个过程涉及到对iOS系统的照片库访问权限的管理、C#编程以及Unity与原生iOS平台的交互。以下是对这个主题的详细阐述: ...
在iOS开发中,经常需要对图片进行处理,例如添加水印,这可以是文字或者图形。UIImage Category是一种优雅的方式,可以扩展UIImage的功能,无需修改原生类,方便地实现水印功能。本教程将深入讲解如何通过Category...
在本示例中,"ios-collectionView实现3D滚动图片效果.zip" 文件提供了一个实现3D滚动效果的代码示例。这种效果通常用于增加用户交互性和视觉吸引力,比如在应用的启动屏幕、产品展示或照片浏览等场景。 首先,我们...
"iOS-多媒体-录制特效影片保存到相册-29GPUImage8-record"这个项目着重于使用GPUImage框架来实现动态视频录制并添加实时特效,最终将处理后的影片保存至用户的设备相册。下面将详细介绍这一过程涉及的关键知识点。 ...
在Swift中,我们可以为UITableView添加一个`scrollViewDidScroll`代理方法,通过计算滚动的位置和图片的原始大小来动态改变图片的frame或transform属性,从而实现放大效果。例如: ```swift func ...
2、使用方法:桌面双击启动 或命令行启动 benjamin> java -jar /iOS-checkIPA.jar 3、GUI界面启动后,点击获取IPA信息弹出文件选择弹窗选择待检查的ipa文件信息,点击确认即可 4、读取ipa文件信息如:名称、包名、...
在iOS开发中,从相册和相机获取图片并保存到本地是常见的功能需求。这个压缩包文件"ios-实现从相册和相机获取图片 并能保存到本地.zip"提供了一个简单的实现方案,包含了手势交互的功能。以下是关于这些知识点的详细...
"ios-自定义图片浏览器.zip" 提供了一个解决方案,通过自定义Model效果来实现实现大图浏览的功能。这个功能通常涉及到视图动画,使得用户在查看图片时能够享受到平滑的过渡和交互体验。下面我们将深入探讨相关的知识...