我想把我的CATextLayer和UIImage合并成一个UIImage。我用的是这个代码:
let textViewLayer = CATextLayer()
textViewLayer.frame = CGRect(origin: CGPoint(x: lockText.imagePositionX, y: lockText.imagePositionY), size: lockImageView.frame.size)
textViewLayer.string = lockText.textText
textViewLayer.font = lockText.textFont.fontName
textViewLayer.fontSize = lockText.textFontSize
textViewLayer.foregroundColor = lockText.color.CGColor
let textView = UIView(frame: lockImageView.frame)
textView.layer.addSublayer(textViewLayer)
lockImageView.addSubview(textView)
UIGraphicsBeginImageContext(lockImageView.frame.size)
textViewLayer.renderInContext(UIGraphicsGetCurrentContext()!)
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();但UIGraphicsGetCurrentContext是零。有人能告诉我,我做错了什么吗?
发布于 2015-12-16 16:41:44
我使用这段代码来解决我的问题:
UIGraphicsBeginImageContext(image.size);
image.drawInRect(CGRectMake(0, 0, image.size.width, image.size.height))
let rect = CGRectMake(lockText.imagePositionX, lockText.imagePositionY, image.size.width, image.size.height);
lockText.color.set()
let text = lockText.textText as NSString
text.drawInRect(rect, withAttributes: [NSFontAttributeName : lockText.textFont, NSForegroundColorAttributeName : lockText.color])
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();https://stackoverflow.com/questions/34098351
复制相似问题