zxing遵循Apache License 2.0,只是工具而已,不收費。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海湖新免費建站歡迎大家使用!
但是到中國物品編碼中心注冊廠商識別碼是收費的,一個相當(dāng)于1萬個商品條碼,首次注冊3K/2年,后繼延續(xù)2K/2年。
有些商品你也可以不用注冊,像ISBN都是出版社幫你注冊分配的。
更改CameraConfigurationManager.java文件
在 Log.d(TAG, "Screen resolution: " + screenResolution);這句之后增加
Point screenResolutionForCamera = new Point();
screenResolutionForCamera.x = screenResolution.x;
screenResolutionForCamera.y = screenResolution.y;
// preview size is always something like 480*320, other 320*480
if (screenResolution.x screenResolution.y) {
screenResolutionForCamera.x = screenResolution.y;
screenResolutionForCamera.y = screenResolution.x;
}
再更改cameraResolution = getCameraResolution(parameters, screenResolution);為cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);
代碼下載地址:
你找一個開源項目,叫ZXING,要是它也解決不了你的問題那只能求神來幫你了,另外不是很明白哪家公司還這么老土,到現(xiàn)在還用2.0版本,升個3.5不好嗎?
添加步驟:
1、 下載ZXing .Net的第三方庫
2、下載后解壓可以看到有針對不同.Net版本的dll文件,在你的工程中引用正確的dll
3、然后再你的工程中引用System.Drawing程序集
4、在你需要生成二維碼的Window中,加入一下代碼
// 注銷對象方法API
[DllImport("gdi32")]
static extern int DeleteObject(IntPtr o);
如果是打印普通紙質(zhì)標(biāo)簽,可以試試用ZXing.dll這個開源庫,可以打印一維和二維條碼。
如果是打印ZPL格式,那就用codesoft生成ZPL模板,調(diào)取數(shù)據(jù)庫動態(tài)修改ZPL后再調(diào)用系統(tǒng)內(nèi)置的print 命令打印ZPL。
本來zxing的c++部分不是為windows準(zhǔn)備的,在windows中編譯應(yīng)該用mingw比較合適。但我不熟悉這個。今天試一下,似乎可以在VS2008編譯。雖然有很多問題,不過都可以解決的。
大概有如下問題:
1。isnan, NAN, INFINITY, fmax等一些常量或函數(shù)找不到,這是linux與windows包含文件的差異。自己創(chuàng)建就行,我做在nan.cpp和nan.h之中。
2。文件同名:可以把那些文件編譯到不同目錄,這樣就不會干擾了。默認(rèn)是編譯到同一個目錄。
3。變長數(shù)組的語法:GCC支持變長的數(shù)組變量,比如
void gcc(int len) {
int data[len];
}
但VC不支持,所以很多地方都要改過來。我的做法是:查到它所有的調(diào)用之處,找一個比較大的數(shù)值來取代len。
4。iconv.h: 要下載:
需要DLL和lib導(dǎo)入庫。我上傳的代碼不用iconv。通過設(shè)置NO_ICONV,可以不需要libiconv,但是掃描結(jié)果也沒有轉(zhuǎn)換,需要調(diào)用方自己做字符集轉(zhuǎn)換。
經(jīng)過這些,應(yīng)該可以編譯了。
編譯它的示例:
這要求有ImageMagick,直接下載一個安裝,
安裝完成后,新建一個windows控制臺項目,導(dǎo)入示例,設(shè)置好ImageMagick和zxing頭文件和庫文件目錄。編譯后,運行。
我放在zxtest項目中。
根據(jù)示例,寫pascal接口,這部分代碼放在ZXingDLL中。
通過分析,LuminanceSource應(yīng)該是一個zxing分析圖像的接口,要從這個派生出來一個類才能讓zxing工作。示例是用MagickBitmapSource ,它用了ImageMagick庫,太大,所以我分析了源碼,發(fā)現(xiàn)只要輸出灰度就行了,這樣我在DELPHI中獲取圖像,然后轉(zhuǎn)成灰度圖,再轉(zhuǎn)進(jìn)來。具體看我的DELPHI和lazarus代碼。