2012-03-11 5 views
2

プレビューの一部のピクセルを残りのピクセルよりも少し暗くするように変更したいと思います。 プレビューの上半分をプレビューの下半分より暗くしたいとします。Android Camera - プレビューでピクセルを変更するにはどうすればよいですか?

私はこのようなsetPreviewCallback使用しようとしていた。

camera.setPreviewCallback(new PreviewCallback() { 
    // Called for each frame previewed 
    public void onPreviewFrame(byte[] data, Camera camera) { 
    Log.d(TAG, "onPreviewFrame called at: " + System.currentTimeMillis()); 
    for (int i = 0; i < data.length; i++){ 
     if(i < data.length/2) 
     data[i] = manipulate(data[i]); 
    } 
    Preview.this.invalidate(); 
    } 
}); 

しかし、私は何か間違ったことをやっているので、それが機能していません。どのように私はそれを動作させることができますか?

おかげ エヤル

答えて

1

あなただけonPreviewFrameにバッファのコピーを取得しますので、そのようにプレビューを操作することはできません。

最も簡単なことは、透過キャンバスを使用してその一部をより暗くする別のビューをオーバーレイすることです。オーバーレイを生成するために入力画像を調べる必要がある場合、オーバーレイビューはCamera.PreviewCallbackを実装できます。あなたの活動に

あなたが実行します。

setContentView(yourPreviewSurfaceView); 
addContentView(yourOverlayView, ...); 
+0

感謝を!それは働いた – Eyal

関連する問題