Refine 是供 Apple 平台使用的 single 手写公式识别框架.
本框架以 Swift 包的形式提供。
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "MyPackage",
dependencies: [
.package(
url: "https://github.com/mc-public/Refine.git",
.upToNextMinor)
)
],
targets: [
.target(
name: "MyTarget",
dependencies: [
.product(name: "Refine", package: "Refine")
]
)
]
)然后你需要在 SwiftUI 中使用 PredictionCanvas.
import SwiftUI
import Refine
struct ContentView: View {
@StateObject var state = PredictionCanvasState()
var body: some View {
VStack {
PredictionCanvas(state: self.state)
.border(.blue)
Divider()
List {
Button {
self.state.cleanCanvas(cleanResult: true)
} label: {
Text("Clean Prediction Result")
}
ForEach.init(state.predictionResult, id: \.id) { symbol in
symbol.image
}
}
}
.padding()
}
}Refine is a framework for performing single handwritten mathematical symbol recognition on the iOS platform.
The usage of this framework is very simple. To use Refine in your own project, you need to set it up as a package dependency:
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "MyPackage",
dependencies: [
.package(
url: "https://github.com/mc-public/Refine.git",
.upToNextMinor)
)
],
targets: [
.target(
name: "MyTarget",
dependencies: [
.product(name: "Refine", package: "Refine")
]
)
]
)Then you need to use PredictionCanvas in SwiftUI.
import SwiftUI
import Refine
struct ContentView: View {
@StateObject var state = PredictionCanvasState()
var body: some View {
VStack {
PredictionCanvas(state: self.state)
.border(.blue)
Divider()
List {
Button {
self.state.cleanCanvas(cleanResult: true)
} label: {
Text("Clean Prediction Result")
}
ForEach.init(state.predictionResult, id: \.id) { symbol in
symbol.image
}
}
}
.padding()
}
}