2017-08-08 20 views
0

私はFlurgeによるCameraKitを使用するプロジェクトを構築していましたが、厄介な問題があります。私は実際に写真を撮る方法を知らない。私は、OnPicturetaken Listenerをアクティブにするはずだが、それが動作するかどうか、または保存されているかどうかわからないシャッターボタンがあります。私の携帯電話のシャッターボタンをクリックすると、logcatは、13 Mpの画像の寸法を返しますが、保存しません。CameraKitを使用して写真を撮る方法

これは、シャッターボタンを押したときに実行されるコードです:

cameraView.captureImage(); 
      cameraView.setCameraListener(new CameraListener() { 
       @Override 
       public void onPictureTaken(byte[] picture) { 
        super.onPictureTaken(picture); 

        Bitmap result = BitmapFactory.decodeByteArray(picture, 0, picture.length); 
        ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
        result.compress(Bitmap.CompressFormat.JPEG, 40, stream); 



       } 
      }); 

「私はそれが画像を処理として、アプリの凍結を減少させるために40にJPEG画質を設定しようとしましたが、それはdoesnの助けてください。私が得る唯一の出力は、画像のフル解像度のlogcatにあります。これは13Mpです。

このbytearrayをjpegまたはpngとして保存する方法についてのヘルプは非常に高く評価されます。前もって感謝します!

答えて

1

「保存」を実行した場合

それが保存されているかどうか、あなたはディスクやネットワークに書き込まれている意味は、あなたの質問にこれを行うための任意のコードを持っていません。

これは、シャッターボタンを押したときに実行されるコードです:

あなたは、ディスクに画像を保存したスレッドをフォークとFileOutputStreamFileOutputStreamにバイトを書き込みたい場合は画像を保存する場所を指しますinternal storageまたはexternal storageです。 byte[]をデコードする必要はありません。すでにJPEG形式であるため、バイトを書き込むだけで済みます。

+0

私はそのほとんどを持っていると思いますが、そのコードを書いてください。もしあなたができないのであれば、私はこれをどうやってやることができるのかをもっと深く説明してください。私はトラブルのために申し訳ありませんが、その感謝! –

+0

@MayankThakur:スレッドと 'FileOutputStream'は、Javaプログラミングの本でカバーされています。ファイルを格納する特定の場所とAndroid向けの特定のスレッド技法については、Androidアプリの開発に関する書籍で説明しています。これらのことを読んだら、完全に対処されていない*具体的な質問がまだ残っている場合は、新しいStack Overflow質問をしてください。 – CommonsWare

+0

私の本であなたはチュートリアルを参照していますか?私はプログラミングに関する本を持っておらず、私は書いたこともないからです。ありがとうございます –

0

captureImage();以下に電話する必要があります。リスナー。

リスナーが設定される前にイメージをキャプチャしているようです。

関連する問題