मैं सफलतापूर्वक (थोड़ी सी मदद के साथ) प्रयोजन द्वारा बारकोड में वापस वैध VIN तार और एनकोड VIN तार को डिकोड करने के लिए ZXing के स्रोत कोड का इस्तेमाल किया है:
मैं एक मैं यहाँ का उपयोग कर सकते पाया। एक पुस्तकालय के रूप में अपने ZXing स्रोत कोड
एकीकृत -
यहाँ कुंजी है।
http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/
नोट, वहाँ भी एक अच्छा चर्चा यहाँ क्यों यह एक डेवलपर के दृष्टिकोण से नहीं किया जाना चाहिए के रूप में है, लेकिन कोड मुक्त खुले इस्तेमाल होता है: यहाँ कदम-दर-कदम की कड़ी है और हमें इसे उस फैशन में संशोधित करने की आवश्यकता है जिसे वर्तमान में इरादे के माध्यम से नहीं किया जा सकता है। तो हम जाते हैं।
अपनी प्रोजेक्ट में, इरादे के माध्यम से ज़क्सिंग को कॉल करें (जैसा कि वे अनुशंसा करते हैं); intent.putExtra("SCAN_MODE","ONE_D_MODE");
मैंने वास्तव में यह दोनों तरीकों से काम किया है (इस लाइन के साथ और बिना) लेकिन यदि आप इसमें बेहतर परिणाम देखते हैं तो यह आपके ऊपर निर्भर करता है। फ्रेम में होने के बाद मुझे आमतौर पर 1/4 सेकेंड फोकस में स्कैन करने के लिए वीआईएन मिलता है।
पूर्वावलोकन रिज़ॉल्यूशन मायने रखता है, क्योंकि कैमरा पूर्वावलोकन एक वैध बारकोड खोजने के लिए डीकोडर को फ़्रेम भेजता है।
तो ... कैमरा कॉन्फ़िगरेशन मैनेजर.जावा में, एक बड़ा MAX_PREVIEW_PIXELS
निर्दिष्ट करें (जो आपके स्क्रीन रिज़ॉल्यूशन से अधिक नहीं है)। मैंने "1024 * 600" का उपयोग किया - मेरे डिवाइस संकल्प। यह कुछ tweaking ले सकता है।
- CameraManager.java में
, अपने तैयार आयत संपादित बड़ा बारकोड के आकार के लिए प्रसार करना चाहते हैं, private static final int MAX_FRAME_WIDTH = screenpixelsinteger;
के माध्यम से, मेरा 1000.
public Rect getFramingRect() {
में है, int width
संपादित = screenResolution.x * 1
(या * nothing
) हो सकता है, बजाय * 3/4
का।यह फ़्रेमिंग आयत को स्क्रीन रिज़ॉल्यूशन के रूप में चौड़ा करने के लिए विस्तृत करेगा, लेकिन ऊपर निर्दिष्ट MAX_FRAME_WIDTH
से अधिक व्यापक नहीं है (यदि एमएफडब्ल्यू कम है तो इसे क्लैंप किया जाएगा)।
अंत में, स्कैन!
मुझे विश्वास नहीं है कि मैंने किसी अन्य चर को संपादित किया है, लेकिन अगर मुझे लगता है कि मैंने यह काम करने के लिए किया है, तो मैं इस जवाब को अपडेट कर दूंगा।
स्रोत
2012-05-29 20:19:28