http://blog.csdn.net/hello2me/article/details/8687849 在用到條碼掃描過程中.默認(rèn)的情況就不說了.時間的開發(fā)中不管是掃描還是任何一個功能模塊.都不可能全部是默認(rèn)的.尤其是android開發(fā).各種自定義. 我在做Yibin藥皮你檢測的時候因為用到了tabhost.如果是在手機(jī)上的橫屏顯示的話.屏幕太小.所以只能豎屏顯示.但是豎屏顯示.相機(jī)撲捉到的的旋轉(zhuǎn)90的內(nèi)容.要想讓屏幕豎屏顯示.因為我的tabhost是豎屏的.所以掃描的頁面可定也是豎屏的.在主配置文件中的activity標(biāo)簽中添加 android:screenOrientation="portrait" 豎屏顯示. 在CameraManager類中的openDriver方法的最后添加設(shè)置camera.setDisplayOrientation(90); 讓相機(jī)的畫面旋轉(zhuǎn)90,跟著手機(jī)的屏幕正確的顯示,這個做了之后,條碼是掃不出來的.因為只是把相機(jī)的撲捉的畫面旋轉(zhuǎn)了.真正解析的部分的畫面還沒有真正的旋轉(zhuǎn).所以還要改一個地方,在DecodeHandler類中decode方法中將 PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(data, width, height); 換成 - <span style="font-family:KaiTi_GB2312;font-size:18px;"> byte[] rotatedData = new byte[data.length];
- for (int y = 0; y < height; y++) {
- for (int x = 0; x < width; x++)
- rotatedData[x * height + height - y - 1] = data[x + y * width];
- }
- PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(rotatedData, width, height);</span>
換了這個之后短的條碼就能掃描了.本來我以為橫屏掃描在這個項目中就可以結(jié)束了.誰知道老板拿了一老長的條碼來.一試掃這么反應(yīng).想了半天.有想過改程序外框架為左側(cè)菜單.這樣就能時候zxing的默認(rèn)橫拼掃描了.左側(cè)菜單沒有做過.估計一時半會也拿不下.就想著吧zxing掃描的框變長一點(diǎn),豎著看的話.應(yīng)該是高一點(diǎn).就是豎著拿手機(jī).顯示的是橫著的畫面.這樣在平板上也好用點(diǎn).后倆界面改好了.也能掃描了.可移植到項目上就又不行了,然后就奇怪的發(fā)現(xiàn)掃不出的原因了 .是因為紅線沒有對應(yīng)到真正掃描解碼的位置.我把圖片對應(yīng)到掃描區(qū)域的上邊.掃出來了.我暈.然后我就該掃描區(qū)域的大小.調(diào)整紅線的位置.調(diào)好了.也能掃描了.就是掃描框比之前窄了.看著不是很順眼.后來在一個博客中看到了下面的內(nèi)容
- <span style="font-family:KaiTi_GB2312;font-size:18px;">點(diǎn)開包c(diǎn)om.google.zxing.client.android.camera 下 CameraManager 中 getFramingRectInPreview() 方法中 修改
-
-
-
-
-
-
-
-
- rect.left = rect.left * cameraResolution.y / screenResolution.x;
- rect.right = rect.right * cameraResolution.y / screenResolution.x;
- rect.top = rect.top * cameraResolution.x / screenResolution.y;
- rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;
-
- </span>
我之前調(diào)正了.也能掃描了.不過框小不太好看.我就試了試這個.這個挺好的.不用改變ViewfinderView類里的參數(shù)了.這個類里面畫圖的參數(shù)好難改呀.試了上面的方法.掃描框大小正常了.也能掃描了.感謝這個博客的作者:http://www./kf/201212/173338.html
|