使用带有product_match!
功能的draw()
后,我在尝试维护字体大小,位置和颜色方面遇到了困难。
我有一个attributes
和一个UIImage
,我试图将这两者都绘制成一个UITextField
。到目前为止,我已经能够实现这一点,但在调用UIImage
函数后尝试保持字体属性一致时遇到问题。
我首先开始一个新的draw()
并将所需的图像绘制到imageContext
中。然后,我使用CGRect
重复此过程。
UITextField
正如您在上面的代码段中看到的,我将UIGraphicsBeginImageContextWithOptions(takenImage.size, true, takenImage.scale)
let areaSize = CGRect(x: 0, y: 0, width: self.takenImage.size.width, height: self.takenImage.size.height)
takenImage.draw(in: areaSize)
let imageViewSize = self.tempImageView.frame.size
let multiWidth = areaSize.width / imageViewSize.width
let multiHeight = areaSize.height / imageViewSize.height
let textSize = CGRect(x: textOverlay.frame.origin.x * multiWidth, y: textOverlay.frame.origin.y * multiHeight, width: textOverlay.frame.size.width * multiWidth, height: textOverlay.frame.size.height * multiHeight)
let ribbon = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
ribbon.setFill()
UIRectFillUsingBlendMode(textSize, CGBlendMode.normal)
let convertChatText: String = textOverlay.text!
let attrs = [NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 17.0)!]
convertChatText.draw(with: textSize, options: .usesLineFragmentOrigin, attributes: attrs, context: nil)
let outputImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
转换为UITextField.text
并添加了String
属性。然后将这些属性用作UIFont
函数中的参数。
在查看我的最终图像输出时,由于某种原因,指定的属性未应用于文本我不确定为什么?
我猜我正在做某事错误,但不能弄清楚是什么?
更新 我上传的图片进一步解释了我的问题,可以查看here.
提前致谢
答案 0 :(得分:0)
尝试使用textfield的属性
let font = textField.font
let textColor = textField.textColor
let attrs = [NSFontAttributeName: font!, NSForegroundColorAttributeName : textColor!]