Androidで正方形の画像をキャプチャする方法は? Androidのインテントを介してCameraを呼び出して正方形の画像(300x300ピクセルなど)をキャプチャしたいのですが、どうすればよいですか?
編集:これは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 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
が表示されます。