我是靠谱客的博主 自觉帅哥,最近开发中收集的这篇文章主要介绍java 图片加水印不失真_Swift 给图片添加文字水印(图片不失真),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

话不多说,直接上代码讲解

在我的项目里,水印文字是大小不同的字体拼接的,所有这里也是对这种水印文字进行的处理。

extension UIImage {

/// 图片加水印

///

/// - Parameters:

/// - text: 水印完整文字

/// - textColor: 文字颜色

/// - textFont: 文字大小

/// - suffixText: 尾缀文字(如果是nil可以不传)

/// - suffixFont: 尾缀文字大小(如果是nil可以不传)

/// - suffixColor: 尾缀文字颜色(如果是nil可以不传)

/// - Returns: 水印图片

func drawTextInImage(text: String, textColor: UIColor, textFont: UIFont,suffixText: String?, suffixFont: UIFont?, suffixColor: UIColor?) -> UIImage {

// 开启和原图一样大小的上下文(保证图片不模糊的方法)

UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale)

// 图形重绘

self.draw(in: CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height))

var suffixAttr: [NSAttributedStringKey: Any] = [NSAttributedStringKey.foregroundColor:textColor, NSAttributedStringKey.font:textFont]

let attrS = NSMutableAttributedString(string: text, attributes: suffixAttr)

// 添加后缀的属性字符串

if let suffixStr = suffixText {

let range = NSRange(location: text.count - suffixStr.count, length: suffixStr.count)

if suffixFont != nil {

suffixAttr[NSAttributedStringKey.font] = suffixFont

}

if suffixColor != nil {

suffixAttr[NSAttributedStringKey.foregroundColor] = suffixColor

}

attrS.addAttributes(suffixAttr, range: range)

}

// 文字属性

let size = attrS.size()

let x = (self.size.width - size.width) / 2

let y = (self.size.height - size.height) / 2

// 绘制文字

attrS.draw(in: CGRect(x: x, y: y, width: size.width, height: size.height))

// 从当前上下文获取图片

let image = UIGraphicsGetImageFromCurrentImageContext()

//关闭上下文

UIGraphicsEndImageContext()

return image!

}

}

}

最后

以上就是自觉帅哥为你收集整理的java 图片加水印不失真_Swift 给图片添加文字水印(图片不失真)的全部内容,希望文章能够帮你解决java 图片加水印不失真_Swift 给图片添加文字水印(图片不失真)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部