Android Programming Tips
Abstract#
Topic#
Androidでちゃんとカメラが扱えるようになりたいが、結構奥が深い。camera2を使いたいが、サンプルとしてこれがシンプル。このサンプルで、TextureView.getSurfaceTexture()を呼ぶとき、NullPointerExceptionが起きやすい。Availableになってから呼ばないといけないので、呼び出し元をListenerのonSurfaceTextureAvailable()から呼ぶ必要があることに注意。 |
mTextureView.getBitmap();
arView.getDrawingCache(false);
Bitmap offBitmap = Bitmap.createBitmap(cameraMap.getWidth(), cameraMap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvasForCombine = new Canvas(offBitmap);
canvasForCombine.drawBitmap(cameraMap, null, new Rect(0, 0, cameraMap.getWidth(), cameraMap.getHeight()), null);
canvasForCombine.drawBitmap(overlayMap, null, new Rect(0, 0, cameraMap.getWidth(), cameraMap.getHeight()), null);
Reference#
- 株式会社BELLSOFT, 2018年4月13日, Androidアプリにおける最小限のカメラ機能の実装, https://bellsoft.jp/blog/system/detail_538
- TextureView, https://developer.android.com/reference/android/view/TextureView