カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

カメラを扱うまとめ – Android

Androidでカメラを扱うまとめです。
単純に撮った写真を保存するパターンと、パラメーターを指定して保存するパターン、
撮影した画像を圧縮して保存するパターンの3パターンを紹介します。

まずは、カメラを使用するために必要なパーミッションをAndroidManifest.xmlに記述します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />

撮影処理をするSurfaceViewを継承したクラスを作成します。

まず、簡単に保存するパターン 続きを読む…»

4,785 views

FLASHLIGHT

フラッシュライトを使うときのパーミッション

<uses-permission android:name="android.permission.FLASHLIGHT"/>
1,545 views

カメラパラメーターの色々

参考になります。
http://developer.android.com/intl/ja/reference/android/hardware/Camera.Parameters.html

2,328 views

カメラのエラー setparameters faild

android/1683で紹介していた方法で
エラーが発生したので修正しました。

surfaceChanged内のsetPreviewSizeメソッドでエラー発生
元は以下のようなコード

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    Camera.Parameters parameters = mCamera.getParameters();
    parameters.setPreviewSize(w, h);
    mCamera.setParameters(parameters);
    mCamera.startPreview();
}

続きを読む…»

4,866 views

シャッターボタンで撮影する

カメラを使用するアプリで、ハードウェアの撮影ボタンを使うには。
ActivityクラスでonKeyUpイベントをオーバーライドで実装します。

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    boolean ret = super.onKeyUp(keyCode, event);
    if(keyCode == KeyEvent.KEYCODE_CAMERA) {
        //撮影処理
    }
    return ret;
}
3,941 views