【发布时间】:2019-04-12 11:23:07
【问题描述】:
我有一个在图像上绘制文本的函数,但问题是当我调用此函数时,它会给出错误“参数标签'(_:, _:)' 不匹配任何可用的重载” 我是 swift 新手,不知道如何解决
func write_text_on_image(drawtext text:NSString , inimage img : UIImage , atpoint point : CGPoint) -> UIImage {
let textcolor = UIColor.white
let font = UIFont(name: "Helvetica", size: 16)
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(img.size, false, scale)
let font_attributes = [
kCTFontAttributeName : font,
kCTForegroundColorAttributeName : textcolor
]
img.draw(in: CGRect(origin: CGPoint.zero, size: img.size))
let rect = CGRect(origin: point, size: img.size)
text.draw(in: rect, withAttributes: font_attributes as [NSAttributedString.Key : Any])
let newimg = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndPDFContext()
return newimg!
}
我称这个函数为
write_text_on_image(drawtext: "THis is some text", inimage: UIImage(named: "test.png")!, atpoint: CGPoint(20,20))[!
【问题讨论】:
-
它是
CGPoint(x: 20, y: 20)。 -
如何使用代码完成?输入
CGPoint(并查看 Xcode 的建议。顺便说一句,这不是 javascript。请使用 lowerCamelCased 变量和函数名称、原生 Swift 类型并避免冗余信息,例如func write(text: String, in img : UIImage, at point : CGPoint) -> UIImage -
@vadian 谢谢你的建议其实我只是一个初学者我尽量避免这些
标签: swift cgrect cgpoint drawtext uigraphicscontext