Xamarin Mvvmcross 4.4.0 的最佳 OCR?
Best OCR for Xamarin Mvvmcross 4.4.0 ?
我正在尝试在 Xamarin Mvvmcross 4.4.0(不是 Xamarin.Forms)中使用 OCR,我想避免在特定平台中进行编码。我找到了 tesseract 但是这个库需要在特定平台上编码,我试图注入..
1.- SetUp.cs
protected override IMvxIocOptions CreateIocOptions()
{
return new MvxIocOptions()
{
PropertyInjectorOptions = MvxPropertyInjectorOptions.MvxInject
};
}
2.- 查看模型
[MvxInject]
ITesseractApi _tesseract
{
get {
return Mvx.Resolve<ITesseractApi>();
//return Mvx.IocConstruct<ITesseractApi>();
}
}
但两者(解析、IocConstruct)都失败了,
如果有任何想法或替代方案......
首先,您必须将依赖项注入 IOC 容器,以便它能够解析它们。你可以在 MvvmCross 中这样做:
Mvx.RegisterSingleton<IFoo>(new Foo());
这会将依赖项注册为单例。您可能想也可能不想选择不同的生命周期。在这种情况下,Foo
是 IFoo
的实现。
您提到要在 PCL 中对您的登录进行编码。您绝对可以通过在平台特定项目中注册 ITesseractApi
依赖项(iOS 和 Android 项目中 ITesseractApi
的不同实例)并在您的 [=31= 中解析它来做到这一点].据我从他们的文档中得知,无法在共享代码中创建 TesseractApi
的实例(注意 Android 构造函数将 Context
作为参数)
因此您的 PCL 将通过 ITesseractApi
.
的抽象在不同平台上使用不同的(特定于平台的)代码
我正在尝试在 Xamarin Mvvmcross 4.4.0(不是 Xamarin.Forms)中使用 OCR,我想避免在特定平台中进行编码。我找到了 tesseract 但是这个库需要在特定平台上编码,我试图注入..
1.- SetUp.cs
protected override IMvxIocOptions CreateIocOptions()
{
return new MvxIocOptions()
{
PropertyInjectorOptions = MvxPropertyInjectorOptions.MvxInject
};
}
2.- 查看模型
[MvxInject]
ITesseractApi _tesseract
{
get {
return Mvx.Resolve<ITesseractApi>();
//return Mvx.IocConstruct<ITesseractApi>();
}
}
但两者(解析、IocConstruct)都失败了, 如果有任何想法或替代方案......
首先,您必须将依赖项注入 IOC 容器,以便它能够解析它们。你可以在 MvvmCross 中这样做:
Mvx.RegisterSingleton<IFoo>(new Foo());
这会将依赖项注册为单例。您可能想也可能不想选择不同的生命周期。在这种情况下,Foo
是 IFoo
的实现。
您提到要在 PCL 中对您的登录进行编码。您绝对可以通过在平台特定项目中注册 ITesseractApi
依赖项(iOS 和 Android 项目中 ITesseractApi
的不同实例)并在您的 [=31= 中解析它来做到这一点].据我从他们的文档中得知,无法在共享代码中创建 TesseractApi
的实例(注意 Android 构造函数将 Context
作为参数)
因此您的 PCL 将通过 ITesseractApi
.