2016-07-19 9 views
2

私は現在、Microsoft HololensでQRコードを読むプロジェクトに取り組んでいます。私はC#のUnity(5.4.0ビルド24)でアプリケーションを開発していますが、私はZXingを使ってQRコードを読んでいます。私はthis webpageからZXingをダウンロードし、.NET 3.5バージョンを使用して終了しました。私はHololensのビューに対応するバイト配列を生成することができました。UnityのQRコードを読む

ZXing.Result result = reader.Decode(img_bitmap); 

しかし、これを使用するためには、私はSystem.Drawingに含まれているBitmapを作成する必要があります。私は、QRコードのテキストを取得するためにデコード機能を使用します。私が理解しているように、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に構築し、私は私の上System.Drawingの.NET 3.5バージョンを見つけることができませんしてきましたシステム(と私はこれが問題の根源であると確信していない)とにかく。何か案は?前もって感謝します!

答えて

1

Unity 5は、モノラルコンパイラのカスタムバージョンを使用しています。いくつかのライブラリは標準の.Net 3.5から切り離されています。

+0

こんにちは、私はビットマップを使用できるようにこのエラーを修正する方法について知っていますか? – nphirning

+0

私はこれについて何の経験もありません。あなたはより多くの経験プログラマを持つUnityについてこの質問をするべきです。 – Joshua

+0

さて、もし私がそこに答えを得たら私は見るでしょう、もしそうなら、この記事を更新してください – nphirning

0

一つのアプローチ:あなたのイメージ

  • メソッドGetPixels32を(使用して、そのイメージからピクセルを取得格納する

    • 使用にTexture2D)
    • -方法を復号化するために、これらのピクセルを送ります。だから、

    、あなたがにTexture2D変数を作る:

    public Texture2D image; 
    

    はその後、どこかの方法で、あなたはこのような何かを入力:

    var codeReader = new BarcodeReader { AutoRotate = true }; 
    codeReader.Options.TryHarder = true; 
    
    var decodeResult = codeReader.Decode(image.GetPixels32(), image.width, image.height); 
    

    がうまくいけば、まだZXingについてあまり知らないが、いくつかの人々はこれが役立つと感じます。 :)