Androidで正方形の画像をキャプチャするには? Android でインテントを介して Camera を呼び出して、正方形の画像 (300x300 ピクセルなど) をキャプチャしたいのですが、どうすればよいですか?
2 に答える
編集: API レベル 21 以降、これは非推奨です。
Camera.Size ネストされたクラスを使用する
http://developer.android.com/reference/android/hardware/Camera.Size.html
Androidリファレンスから:
http://developer.android.com/reference/android/hardware/Camera.html
クラス概要
Camera クラスは、画像キャプチャ設定の設定、プレビューの開始/停止、写真のスナップ、およびビデオのエンコード用のフレームの取得に使用されます。このクラスは、実際のカメラ ハードウェアを管理する Camera サービスのクライアントです。
サイズがカメラでサポートされていることを確認してください (おそらくサポートされていません)。そうでない場合は、最も近い解像度で写真を撮り、トリミングするかサイズを変更します。
Camera myCamera = Camera.open(0);
List<Camera.Size> sizes = myCamera.getPArameters().getSupportedPictureSizes();
カメラの意図について学習するには、SO に既にある次の質問を確認してください。
なぜ誰もこのようなことを言及しなかったのですか?
Bitmap resultBitmap = Bitmap.createBitmap(sourceBitmap, xStart, yStart, 300, 300);
ここで、sourceBitmap は、カメラからの元のキャプチャとxStart、yStartトリミングが開始される場所です。結果の左上隅xStartに ,が表示されます。yStart