Swift页面添加水印

news/2024/7/20 22:22:12 标签: swift, cocoa, ios

本文主要讨论的是给图片或者视图添加全屏水印。比较常见的是添加单个水印,这个比较好处理,网络上也有很多参考的方法。本文实现的是铺满的全屏水印,具体参考效果如下:

实现思路:

1、根据水印文本以及相应样式生成水印图片,水印图大小根据文本计算而来

2、生成需要铺满水印图片或视图 的空白底图

3、采用贴地砖的方式将水印图从左至右,从上至下贴在底图上

具体实现参考代码如下:

/// 创建全铺图片水印
    /// - Parameters:
    ///   - strTxt: 水印文本
    ///   - fsize: 全铺的尺寸
    ///   - corners: 圆角信息(可选)
    ///   - r: 圆角值(可选)
    /// - Returns: UIImage
    func createWatermarkFor(Text strTxt:String,
                            andFullSize fsize:CGSize,
                            andCorners corners:UIRectCorner? = nil,
                            withRadius r:CGFloat? = nil) -> UIImage {
        
        //[S] 1、设置水印样式
        let paragraphStyle:NSMutableParagraphStyle = NSMutableParagraphStyle()
        paragraphStyle.lin

http://www.niftyadmin.cn/n/5018794.html

相关文章

视频直播点播平台EasyDSS流媒体服务器按时间调用录像,提示数据查询错误是什么原因?

EasyDSS能实现视频流媒体的上传、转码、存储、录像、推拉流、直播、点播等功能,具备超低延迟、超高画质、超大并发访问量等特点,可应用在多样化的场景中,如:在线课堂、教育直播、校园活动直播、企业培训、游戏直播等。为了便于用户…

IDEA gradle项目出现java.lang.OutOfMemoryError: GC overhead limit exceeded 之类的错误

试了很多很多方法都不管用。 最后在gradle目录下添加gradle.properties文件得以解决内容如下:项目所在目录的磁盘空间一定要比下面的配置大才行。 org.gradle.daemontrue org.gradle.configureondemandtrue org.gradle.jvmargs-Xmx1024m -XX:MaxPermSize1024m -XX…

【开箱即用】开发了一个基于环信IM聊天室的Vue3插件,从而快速实现仿直播间聊天窗功能

前言 由于看到有部分的需求为在页面层,快速的引入一个包,并且以简单的配置,就可以快速实现一个聊天窗口,因此尝试以 Vue3 插件的形式开发一个轻量的聊天窗口。 这次简单分享一下此插件的实现思路,以及实现过程&#xf…

常见的NAS协议

常见的NAS(Network Attached Storage:网络附属存储)协议介绍 NFS(Network File System)网络文件系统 几乎是unix/linux的专用 因为一般是使用mount -t nfs *** 挂载nfs盘 NFS允许一个系统在网络上与它人共享目录和文…

在UMG中播放图像序列,出现卡帧怎么办?

在虚幻引擎中播放图像序列 前期步骤可以参考上面链接中官方文档的步骤1-13 如果在媒体播放器中播放的时候,出现卡帧现象,说明你的图片序列的帧率与默认的不匹配 需要在lmg Media Source类型文件中,覆写你的帧率 比如,我的图片序…

数字孪生与GIS的完美结合:智慧水务的未来

数字孪生和地理信息系统(GIS)的融合在智慧水务领域有着重要的应用前景。让我们一起探讨数字孪生和GIS如何合作,为智慧水务系统带来了哪些帮助。 GIS系统提供了准确的地理数据,包括水资源、管道网络、水质监测站点等信息。数字孪生…

内网穿透的应用-如何搭建WordPress博客网站,并且发布至公网上?

文章目录 如何搭建WordPress博客网站,并且发布至公网上?概述前置准备1 安装数据库管理工具1.1 安装图形图数据库管理工具,SQL_Front 2 创建一个新数据库2.1 创建数据库2.2 为数据库创建一个用户 3 安装PHP7.44. 创建一个新站点4.1 创建站点根…

statistic learning outlook

supervised learning 贝叶斯估计 决策树与信息熵 信息熵 H ( D ) − ∑ i 1 n p ( X x i ) l o g ( P ( X x i ) ) − ∑ p i l o g ( p i ) H(D)-\sum_{i1}^n p(Xx_i)log(P(Xx_i))-\sum p_ilog(p_i) H(D)−∑i1n​p(Xxi​)log(P(Xxi​))−∑pi​log(pi​),信…