91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ZXing豎屏掃描

發布時間:2020-07-06 12:55:38 來源:網絡 閱讀:791 作者:Soldat_D 欄目:移動開發

zxing實現豎屏掃描

第一步:修改AndroidManifest清單文件,刪除AndroidManifest中CaptureActivity的screenOrientation屬性:

<activity android:name=".CaptureActivity"  

              android:screenOrientation="landscape"
              android:clearTaskOnLaunch="true"  

              android:stateNotNeeded="true"  

              android:theme="@style/CaptureTheme"  

              android:windowSoftInputMode="stateAlwaysHidden">
<activity android:name=".CaptureActivity"
              android:screenOrientation="portrait"
              android:clearTaskOnLaunch="true"
              android:stateNotNeeded="true"
              android:theme="@style/CaptureTheme"
              android:windowSoftInputMode="stateAlwaysHidden">

 

 

第二步:刪除CaptureActivity中把onResume方法中的無用代碼:

 

//        if (prefs.getBoolean(PreferencesActivity.KEY_DISABLE_AUTO_ORIENTATION, true)) {
//            setRequestedOrientation(getCurrentOrientation());
//        } else {
//            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
//        }


第三步:在CaptureActivity中把onCreate方法結尾處添加代碼:

 

    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {  
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
    } else {  
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  
    }
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    } else {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }


第四步:在CameraConfigurationManager的setDesiredCameraParameters方法中添加代碼:

camera.setDisplayOrientation(90);//add 這句代碼作用是旋轉鏡頭90度,使相機預覽方向正確顯示  
camera.setParameters(parameters);
camera.setDisplayOrientation(90);//add 這句代碼作用是旋轉鏡頭90度,使相機預覽方向正確顯示
camera.setParameters(parameters);


第五步:修改CameraManager中getFramingRectInPreview方法:

//      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;
//      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;


第六步:修改DecodeHandler中的decode(byte[] data, int width, int height)方法:


PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);
PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);

前添加代碼

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];  
}  
int tmp = width;  
width = height;  
height = tmp;  
data = rotatedData;
    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];
    }
    int tmp = width;
    width = height;
    height = tmp;
    data = rotatedData;


 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

个旧市| 维西| 会东县| 榆树市| 察雅县| 武邑县| 杭锦后旗| 崇文区| 武功县| 织金县| 应用必备| 林周县| 夏邑县| 垣曲县| 金昌市| 鄂温| 瑞金市| 清涧县| 黔东| 彰武县| 云霄县| 海阳市| 桃江县| 濮阳市| 沙洋县| 嘉鱼县| 佳木斯市| 南平市| 定襄县| 定兴县| 卓尼县| 顺义区| 宜州市| 霍山县| 平泉县| 教育| 岑溪市| 开原市| 若尔盖县| 敦化市| 富蕴县|