ZXING3 22 橫屏改豎屏掃瞄

2021-08-20 02:33:54 字數 2398 閱讀 7956

因版本差異,掃瞄效果略有不同,我測試的時候使用的是zxing3.22,與原文作者使用版本一致,修改後,測試通過,在此僅作記錄,並感謝原作者的無私貢獻,謝謝!

cameraresolution = cameraconfigurationutils.findbestpreviewsizevalue(parameters, screenresolution);

//修改為

point screenresolutionforcamera = new point();

screenresolutionforcamera.x = screenresolution.x

; screenresolutionforcamera.y = screenresolution.y

; if (screenresolution.x

< screenresolution.y)

cameraresolution = cameraconfigurationutils.findbestpreviewsizevalue(parameters, screenresolutionforcamera);

/*結束*/

在第一行新增就可以了

camera.setdisplayorientation(90);

/*結束*/

//      rect.left = rect.left * cameraresolution.x / screenresolution.x

;// rect.right = rect.right * cameraresolution.x / screenresolution.x

;// rect.top = rect.top * cameraresolution.y / screenresolution.y

;// rect.bottom = rect.bottom * cameraresolution.y / screenresolution.y

; 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

;/*結束*/

//    planaryuvluminancesource source = activity.getcameramanager().buildluminancesource(data, width, height);

// 將上面的修改為

byte rotateddata = new

byte[data.length];

for (int y = 0; y < height; y++)

int tmp = width;

width = height;

height = tmp;

planaryuvluminancesource source = activity.getcameramanager().buildluminancesource(rotateddata, width, height);

//setrequestedorientation(activityinfo.screen_orientation_sensor_landscape);

setrequestedorientation(activityinfo.screen_orientation_sensor_portrait);

//        return activityinfo.screen_orientation_landscape;

return activityinfo.screen_orientation_portrait;

//        return activityinfo.screen_orientation_reverse_landscape;        

return activityinfo.screen_orientation_reverse_portrait;

6.最後將清單檔案androidmanifest.xml

> android:screenorientation="portrait"`

執行,測試成功!

橫屏豎屏切換

當用n85 n95的時候,可以橫屏豎屏切換。當切換的時候,就要把程式中的控制項位置 大小重新計算,重新畫了。其實也沒有什麼困難的。1.這根據原始螢幕 240 320 的螢幕計算座標。當橫屏豎屏切換的時候,可以用下面的公式進行自動的拉伸。define calc wh a a rect width 24...

android 橫屏豎屏判斷

方法1 displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm int width dm.widthpixels int height dm.heightpixels 方法2 if t...

IOS橫屏豎屏問題

引言 iphone的橫屏豎屏針對ios系統版本分為兩種開發方式 一種是ios 6之前的使用模式 一種是ios6的新模式.兩者的區別還是蠻大的.使用 支援自動旋轉?ios6之前通常使用 shouldautorotatetointe ceorientation 來單獨控制某個uiviewcontroll...