为界面添加水印 ---添加到View上,添加到cell上

        需求: 在某个视图中添加对应的水印,和在某个tableView中给每一行均添加水印,并且水印均是动态生成的,以当前用户名作为水印的提示文字。

       针对上述需求,即给视图添加一个水印,这个水印也不是固定的图片而是针对不同的用户展示不同的水印提示文字。则实现方法可以是绘制一张图片,并且这张图片的内容是由用户的名字填充。如果是给整个View添加水印,则直接将该图片加载到View上。如果是在每一个tableView上添加水印而且水印要跟随着界面的滑动而滑动,这就需要将水印视图添加到cell上。但是每一张图对应的应该是从生成的大图里面截取的对应的Image的一部分。

       上述思路列清楚之后就可以开始写代码了,先给UIImage 写一个分类,绘制一个图片,然后将用户的名字作为参数传入生成对应的水印图。不过在绘制图片的时候遇到了一个小问题,也就是这次写下来的目的,一开始绘制图片和截取图片都采用的是UIGraphicsBeginImageContext 绘制的图片,截取也是采用- (instancetype)initWithCGImage:(CGImageRef)cgImage; 生成截取的图片,但是,这样生成的水印很不清晰,略模糊吧,然后查了一下,采用UIGraphicsBeginImageContextWithOptions 绘制图片而采用- (instancetype)initWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation 截取图片,这时候生成的图片是十分清晰的,截取时有一点需要注意,传入rect 截取对应的图片要乘以屏幕的比例,因为上述截图是按照像素截取的,也就是一倍图的标准,这时候要乘以相应的屏幕比例 [UIScreen mainScreen].scale 才能截取正常。

     相关水印代码已上传git,如需下载请给个star,谢谢~~

原文地址:https://www.cnblogs.com/windsSunShine/p/9245132.html

时间: 2024-10-08 19:42:54

为界面添加水印 ---添加到View上,添加到cell上的相关文章

view上添加点手势 button无法响应点击事件

在view 上添加手势 有的时候  会把Button的 点击事件盖掉,这个 时候 我们用UITapGestureRecognizer的代理方法 //手势的代理方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // 过滤掉UIButton,也可以是其他类型 if ( [touch.view isKindOfClass:[UIButto

Inno Setup技巧[界面]欢迎页面上添加文字

原文:Inno Setup技巧[界面]欢迎页面上添加文字 本文介绍在"欢迎页面添加文字"的两种方法. 界面预览: Setup技巧[界面]欢迎页面上添加文字" title="Inno Setup技巧[界面]欢迎页面上添加文字"> 首先可以在[Code]段添加以下代码: procedure InitializeWizard(); var LabelDate: Tlabel; begin WizardForm.WelcomeLabel2.Autosize

在UINavigation上添加UISearchBar

在UINavigation上添加UISearchBar的方法 代码如下: 1 // 创建UIView 2 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0, 250, 54)]; 3 [self.view addSubview:view]; 4 // 创建搜索栏 5 UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 10, 250

MFC解决View中添加控件闪烁

一.简介 我们经常会在我们的View类中添加各种类型的控件,列表控件就是最常用的了.但是我们发现添加控件的时候会,在窗口变化的时候会导致各种各样的闪烁,让我们烦恼异常.所以我对此找到新的解决方案. 二.步骤 新建工程->在最后选在类的时候我们把view选择CFormView,然后再在FormView上添加我们的控件.如果我们的工程已经建立了,那么我们重新定义一个FormView类,并把控件加入到FromView中.然后我们让这个FormView成为你已经创建好的View类的child控件,这样就

导航栏上添加searchBar

导航栏有个titleView的属性, @property(nonatomic,retain) UIView          *titleView; 因此可以写个类,继承自UIView,然后再view上添加需要的控件. 在写一句: self.navigationItem.titleView=search; 就可以达到在导航栏上添加searchBar了. 具体代码如下: 新建类:SearchBarView.m - (instancetype)initWithFrame:(CGRect)frame

android如何在textview或edittext上添加表情

先上效果图: 首先来写一个表情的GridView public class EmotionView extends LinearLayout implements OnItemClickListener { private GridView mGridView; private static final ArrayList<Integer> emotionDisplayList = new ArrayList<Integer>(); public static final Link

iOS开发之 UIScrollView上添加多个UICollectionView 的问题

在iOS 开发过程中尤其是类似网易新闻客户端的 App 的开发过程中经常会出现在一个UIScrollView 上添加多个UICollectionView 或者是UITableView 的现象. 但是在UIScrollView 上添加UICollectionView时会出现问题 尤其是添加多个的时候,添加在父视图上的多个 UICollectionView 的代理方法执行顺序会出现倒叙执行的问题. 这里应该是UICollectionView 的机制的问题 因为苹果并不建议在滚动视图上添加滚动视图.如

iOS给图片(其他view) 添加点击事件

iOS开发中有的时候需要给一些没有点击事件的view添加点击的方法, 比如说点击一个图片想触发某个方法该如何实现了 方法一 使用 UITapGestureRecognizer 具体的方法就是创建一个 UITapGestureRecognizer  将它添加到view上即可 事例代码 UIView *page3=[[UIView alloc]initWithFrame:SCREEN_FRAME]; [page3 addSubview:imageView3]; UITapGestureRecogni

iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的问题

[原]iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的问题 2014-10-31阅读202 评论0 转载请注明出处. 今天在调试代码的时候,在tableviewcell上添加button,发现button快速点击的话,是看不出点击效果的,查找资料发现, ios7上UITableViewCell子层容器是UITableViewCellScrollView, ios6的则是UITableViewCellContentView.点击效果应该是被ScrollView的触摸延