我目前正在开发一个使用Microsoft Hololens读取QR码的项目。我正在用C#在Unity(5.4.0 build 24)中开发应用程序,我正在使用ZXing来读取QR码。我从this webpage下载了ZXing,最后我使用的是.NET 3.5版本。我能够生成一个对应于Hololens视图的字节数组。然后我想使用decode函数来获取QR码中的文本:
ZXing.Result result = reader.Decode(img_bitmap);
但是,为了使用它,我需要创建一个Bitmap
,它包含在System.Drawing
中。据我所知,Unity3D不包含此包,因此我按照this answer中的说明进行操作,并包含来自.NET 2.0的System.Drawing
。但是,当我尝试构建时,我收到以下错误:
error CS7069: Reference to type 'MarshalByRefObject' claims it is defined in 'mscorlib', but it could not be found.
根据我的理解,Unity构建到.NET 3.5,但我一直无法在我的系统上找到{3.5}版本的System.Drawing
(我不相信这是它的根源)问题无论如何)。有任何想法吗?提前谢谢!
答案 0 :(得分:1)
Unity 5正在使用自定义版本的mono编译器。一些库是从标准.Net 3.5中删除的。
答案 1 :(得分:0)
一种方法:
因此,您创建了一个Texture2D变量:
public Texture2D image;
然后,在某个地方的方法中,输入如下内容:
var codeReader = new BarcodeReader { AutoRotate = true };
codeReader.Options.TryHarder = true;
var decodeResult = codeReader.Decode(image.GetPixels32(), image.width, image.height);
Dunno很多关于ZXing的事情,但希望有些人觉得这很有帮助。 :)