2014-10-30 65 views
1

我需要使用Zxing.net在Calico Python(IronPython)中實現QR碼閱讀器。當我嘗試加載條碼圖像,我得到的消息:在IronPython中使用Zxing.net

File "C:\Calico-3.1.0\Calico\zxingTest.py", line 6, in <module> AttributeError: attribute 'Bitmap' of 'namespace#' object is read-only

的圖像進行解碼罰款zbar和Java編寫的。我基於此的C#示例代碼是接近這個頁面的底部:ZXing.Net at Codeplex

我使用ZXing.Net 0.14.0.1和印花布3.1.0

我的代碼是這樣的:

import clr 
import sys 
clr.AddReferenceToFileAndPath("C:\\zxing.net\\net4.5\\zxing.dll") 
import ZXing as zx 
bcr = zx.BarcodeReader() 
bcbm = zx.Bitmap.LoadFrom("C:\\temp\\SRQRCode3.png") 
result = bcr.Decode(bcbm) 

我不確定它是否是配置錯誤,正如IronPython文檔所建議的,或者是什麼。

在此先感謝。

回答

2

你基於你的代碼片段的樣本似乎已經過時了,並且在將它從C#轉換爲IronPython時有一些小錯誤。

Bitmap不是由ZXing提供的,而是由.NET提供的。正確翻譯的樣本應該如下所示:

import clr 
import sys 
clr.AddReferenceToFileAndPath(r"C:\zxing.net\net4.5\zxing.dll") 
import ZXing as zx 
from System.Drawing import Bitmap 

bcr = zx.BarcodeReader() 
bcbm = Bitmap(r"C:\temp\SRQRCode3.png") 
result = bcr.Decode(bcbm) 
if result is not None: 
    print(result.BarcodeFormat.ToString()) 
    print(result.Text) 
+0

就是這樣!謝謝! – 2014-10-31 14:59:50