カメラを使用して写真を撮り、それをプライベートフォルダーに保存するプログラムを実行しています。そこから画像を取得してグリッドビューに表示します。グリッドビューをクリックすると、フルスクリーン画像が表示されます。私が直面している問題は、カメラが縦向きモードのときの画質が完璧であることですが、カメラが横向きモードの場合、ストレッチされた画像が表示されます。
1 に答える
1
こんにちは、以下のコードを見てください。キャプチャした画像を保存する前に、次のプロセスを実行してください。縦向きモードで画像を保存します。これがあなたを助けることを願っています。
int rotation = -1;
rotation = ((WindowManager)getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getOrientation();
Matrix rotator = new Matrix();
switch (rotation) {
case (Surface.ROTATION_0):
break;
case (Surface.ROTATION_90):
rotator.postRotate(270);
break;
case (Surface.ROTATION_180):
rotator.postRotate(180);
break;
case (Surface.ROTATION_270):
rotator.postRotate(90);
break;
// screen_{width,height} are applied before the rotate, so we don't
// need to change them based on rotation.
bmp_ss = Bitmap.createBitmap(bmp_ss, 0, 0, screen_width, screen_height, rotator, false);
于 2013-04-01T11:47:33.270 に答える