在Swift中,可以使用Core Graphics框架来在拍摄的图片上插入文本。下面是一个完整的示例代码:
import UIKit
func addTextToImage(image: UIImage, text: String) -> UIImage? {
// 设置文本样式
let textStyle = NSMutableParagraphStyle()
textStyle.alignment = .center
let textColor = UIColor.white
let textFont = UIFont(name: "Helvetica Bold", size: 30)!
// 创建一个图形上下文
UIGraphicsBeginImageContext(image.size)
// 将图片绘制到图形上下文中
image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
// 创建文本属性
let textAttributes: [NSAttributedString.Key: Any] = [
.font: textFont,
.foregroundColor: textColor,
.paragraphStyle: textStyle
]
// 计算文本绘制的位置
let textSize = text.size(withAttributes: textAttributes)
let textX = (image.size.width - textSize.width) / 2
let textY = (image.size.height - textSize.height) / 2
// 在图形上下文中绘制文本
text.draw(at: CGPoint(x: textX, y: textY), withAttributes: textAttributes)
// 从图形上下文中获取新的图片
let newImage = UIGraphicsGetImageFromCurrentImageContext()
// 结束图形上下文
UIGraphicsEndImageContext()
return newImage
}
// 使用示例
let originalImage = UIImage(named: "originalImage.jpg")
let text = "Hello, World!"
let modifiedImage = addTextToImage(image: originalImage, text: text)
// 将修改后的图片显示在UIImageView中
let imageView = UIImageView(image: modifiedImage)
这段代码定义了一个addTextToImage
函数,它接受一个原始图片和要插入的文本作为参数,并返回一个在原始图片上插入文本后的新图片。函数内部使用Core Graphics框架来进行图形绘制操作。
要使用这个函数,你需要将原始图片和要插入的文本传递给addTextToImage
函数,并将返回的新图片显示在界面上。你可以使用UIImageView
来显示图片。
请注意,这只是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云