这可能是一个愚蠢的问题,但我不能为我的生活弄清楚。我尝试使用Tesseract C#包装器(https://github.com/charlesw/tesseract)并且除了一个错误读取之外我已经完成了所有工作
错误11类型' System.Drawing.Bitmap'在程序集中定义 没有引用。您必须添加对程序集的引用 ' System.Drawing,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a'
我的第一个想法是"哦,让我给System.Drawing"添加一个程序集引用。除了没有一个。当我在解决方案资源管理器中右键单击引用时 - >添加参考 - >装配 - >框架没有System.Drawing。我确实在COM下找到了System.Drawing.dll,但它不允许我添加它,说
ActiveX类型库[path]是从.NET程序集导出的,无法添加为引用。改为添加对.NET程序集的引用。
使用System.Drawing"键入"在我的程序的顶部不会导致错误,但它也无法解决问题。
感谢任何帮助。
编辑:我在正确的地方吗?答案 0 :(得分:0)
你不会对这个项目走得太远,System.Drawing
有这种依赖性,整个项目看起来并没有像Xamarin一样。
正如此处Xamarin Tesseract OCR binding for Android所述,Xamarin.iOS
存在绑定,此人要求Xamarin.Android
绑定。这里确实是Android的tesseract版本https://github.com/rmtheis/tess-two,显然响应是创建一个绑定到这个Java Android版本。
两个项目,Xamarin.iOS
和Xamarin.Android
的绑定都绑定到包含本机C ++库的平台特定绑定。可能最好的解决方案是使用SWIG为Java
创建一个特定的Objective-C
包装来完全绕过P/Invoke
和C#
包装。