调用绘制函数后,保持字体属性一致

时间:2017-03-13 15:54:10

标签: ios swift uiimage

使用带有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.

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试使用textfield的属性

    let font = textField.font
    let textColor = textField.textColor
    let attrs = [NSFontAttributeName: font!, NSForegroundColorAttributeName : textColor!]