2016-05-29 28 views
0

私はカメラAPIを起動するアクティビティを持っています。 ボタン(id "cptr_1"という名前のボタン)を押して写真を撮って別のアクティビティ(PhotoPreview.class)に表示して、写真効果を追加したいとします。あなたが写真を撮るか、custom camera classためcamera intent用のカスタムカメラクラス を使用する意図をどのように使用できるかPhotoPreview.classイメージをキャプチャして別のアクティビティで表示する必要があります

答えて

0

のいずれかにその画像を転送し、その後

ImageButton capture_1 = (ImageButton)findViewById(R.id.cptr_1); 
    capture_1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     } 
    }); 

そして: 私はちょうどのためのコードが必要です

カスタムカメラクラスが既にある場合は、このコードを使用できます。カメラカメラ=カメラ.open(cameraId);

capture_1.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View v) { 
     try { 

      cam.takePicture(null, null, mPicture); 


     } catch (Exception e) { 

     } 
    } 
}); 


private PictureCallback mPicture = new PictureCallback() { 

    public void onPictureTaken(final byte[] data, Camera camera) { 

     try { 

      File mediaFile = new File("file path/filename.jpg"); 

      FileOutputStream fos = new FileOutputStream(mediaFile); 
      fos.write(data); 
      fos.close(); 
      cam.startPreview(); 


     } catch (Exception e) { 
     } 
    } 
};` 
+0

感謝あなたは私が見てみましょう..私はすでに表面ビューでカメラを構築..私が欲しいのはすべてです写真を撮って表示するコード... –

1

デバイスのカメラアプリで写真を撮ることができます。だから、

あなたはクリック:

static final int ImageValue= 1; 

    ImageButton capture_1 = (ImageButton)findViewById(R.id.cptr_1); 
     capture_1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent takepic = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       if (takepic.resolveActivity(getPackageManager()) != null) { 
       startActivityForResult(takepic, ImageValue); 
       } 
      } 
     }); 

をキャプチャが完了した後は、バックカメラアプリケーション

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == ImageValue && resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     Bitmap imageBitmap = (Bitmap) extras.get("data"); 
     } 
} 

からの画像は、その後、別のアクティビティにBitmapを送ってもらいます。 PhotoPreview.class書き込みインサイド

Intent intent = new Intent(this, PhotoPreview.class); 
intent.putExtra("GetBitmap", bitmap); 

:カメラAPIの書き込みを開始アクティビティ内

Intent intent = getIntent(); 
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("GetBitmap"); 

また、あなたは、Androidマニフェストにこれらのアクセス許可を追加する必要があり

<uses-feature android:name="android.hardware.camera" 
        android:required="true" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

"GetBitmap"(ビットマップ)の "bitmap";解決しないでください。 何が間違っていますか? –

+0

ビットマップビットマップ= imageBitmap; – BooDoo

+0

ビットマップを別のアクティビティに送信 – BooDoo

関連する問題