ABOUT|その他

IT見聞録|その他|備忘録|動作テスト|CSSサンプル

★画像のボタン等は、別途追加しています。★

Zxing

Zxing2.1解凍後の「Android」用のサンプルをzxing-client-androidデフォルト画面の向きは、landscape(横)で、
次のソースコードを修正し、ポートレートモードに変更しportrait型にしてみました。
後は、SDカード内に、事例:棚卸し用のマスターテキストファイル と 照合結果後の 棚卸しLOGデータテキストの作成機能も追加しています
その為、テキストボックス/ボタン/ズーム機能 等を追加しています。
以下 Zxing2.1に関するソース変更箇所です。

★NO1_AndroidManifest.xml

android:screenOrientation="landscape"

android:screenOrientation="portrait"

★NO2_DecodeHandler.java:
buildLuminanceSourceのメソッド呼び出し前に「追加」

-----------------------------------------
  //*** portlait ↓****
    
    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;
  
    
    //*** portlait ↑****
    Result rawResult = null;
    PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);
---------------------------------------------- 

★NO3_CameraManager.java:
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;
         -- 部分↑をコメントアウト(又は削除) --
      //** portlait ↓***
      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;
      //** portlait ↓*** 
  
framingRectInPreview = rect; 
---------------------------------------------- 

★NO4_CameraConfigurationManager.java:
initFromCameraParameters()内の

-----------------------------------------
     //**/ /以下を削除(又はコメントアウト)する
  //** portlait ↓** 
    //**   if (width < height) {
  //**   Log.i(TAG, "Display reports portrait orientation; assuming this is incorrect");
  //**   int temp = width;
  //**   width = height;
  //**    height = temp;
  //**   }
    //** portlait ↑**
---------------------------------------------- 

※_libsディレクトリ


       

libsディレクトリ内に「core.jar」をインポート
をお忘れなく。

元ページへ

  プロフィール  PR:無料HP  KDS釧路自動車学校  大型免許 格安  TRUST  タイヤ 履きかえ  タイヤ エルグランド 新品  保育 短期大学  スノコ  山陰中央自動車学校  モルダバイト  保育 大学  小学校 教員免許 通信  Z ホンダ 中古  セキスイのリノベ