Swift 我想在我的图像OCR上应用谷歌翻译应用程序笔刷效果
嗨,我用swift创建了一个文本OCR iOS应用程序。我使用了tesseract OCR引擎,它的精确度非常低。我想选择像谷歌上的文字区域翻译笔刷效果就可以了,请帮我如何应用它Swift 我想在我的图像OCR上应用谷歌翻译应用程序笔刷效果,swift,tesseract,swiftocr,Swift,Tesseract,Swiftocr,嗨,我用swift创建了一个文本OCR iOS应用程序。我使用了tesseract OCR引擎,它的精确度非常低。我想选择像谷歌上的文字区域翻译笔刷效果就可以了,请帮我如何应用它 我通过在UIImageView顶部添加另一个UIImageView(为清晰起见,称为drawingImageView)来实现这一效果,UIImageView显示带有文本的图像。我们的想法是首先在drawingImageView中显示一个完全黑色的图像,类似于0.3 alpha,然后在绘制线条时使用.destinatio
我通过在UIImageView顶部添加另一个UIImageView(为清晰起见,称为drawingImageView)来实现这一效果,UIImageView显示带有文本的图像。我们的想法是首先在drawingImageView中显示一个完全黑色的图像,类似于0.3 alpha,然后在绘制线条时使用.destinationOut作为上下文的混合模式。 代码可能如下所示:
override func viewDidLoad() {
super.viewDidLoad()
drawBlackBackground()
}
func drawBlackBackground() {
UIGraphicsBeginImageContext(drawingImageView.frame.size)
UIGraphicsGetCurrentContext()
let image = UIImage(named: "black")
image?.draw(in: drawingImageView.frame)
self.drawingImageView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) {
UIGraphicsBeginImageContext(drawingImageView.frame.size)
let context = UIGraphicsGetCurrentContext()
drawingImageView.image?.draw(in: drawingImageView.frame)
context?.move(to: fromPoint)
context?.addLine(to: toPoint)
context?.setLineCap(.round)
context?.setLineWidth(20)
context?.setStrokeColor(red: 0, green: 1, blue: 0, alpha: 1)
context?.setBlendMode(.destinationOut)
context?.strokePath()
self.drawingImageView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
您可以查看post以了解有关swift绘图的更多信息,以及更高级版本的信息。
还可以找到有关混合模式的更多信息