私はアンドロイド携帯電話でポートレート方向の表面ビューにカメラを置こうとしています。私はhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.htmlを使ってカメラをsurfaceViewに配置しました。しかし、カメラは90度回転しているので、私はsetDisplayOrientation(90)を使って修正しようとしましたが、画像を縮小します(おそらく、surfaceViewのサイズを適切に変更していませんか?私はどうやってそれを作ることができますので、カメラは押しつぶされていませんか?カメラがポートレートモードで伸びています
6
A
答えて
6
画像の回転に合わせて画像のサイズを変更する必要があります。例については、hereを参照してください。
2
Android APIデモを使用している場合は、OnLayout()
の機能を変更する必要があります。
基本的にAndroid APIデモでは、プレビューサイズをアスペクト比に応じて設定して、プレビュー画像を潰してポートレートモードで画面の中央に表示します。
画面の向きをポートレートモードに設定しても、プレビューの幅と高さは変更されません。 そのため、プレビュー画像が盛り上がったのはこのためです。
-2
使用リサイズ画像のため、この機能私のために働いた唯一のことは、コードmCamera.setDisplayOrientation(90);
レイアウトは両方のためのfill_parent
を持って
あります
public Bitmap resize(Bitmap img,int Width,int Height){
int width = img.getWidth();
int height = img.getHeight();
int newWidth = (int) Width;
int newHeight = (int) Height;
// calculate the scale - in this case = 0.4f
float scaleWidth = ((float) newWidth)/width;
float scaleHeight = ((float) newHeight)/height;
// createa matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
//matrix.postRotate(45);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(img, 0, 0, width, height, matrix, true);
return resizedBitmap;
}
0
に有用であろうheight
およびwidth
。
とマニフェストファイルには、高さと幅はその一例であるべきかandroid:screenOrientation="portrait"
関連する問題
- 1. Camera2カメラのプレビューは一部のデバイスで伸びています
- 2. カメラのプレビューはポートレートモードですが、画像が回転しています
- 3. 翡翠が伸びていません
- 4. カメラでポートレートモードを強制する
- 5. ポートレートモードでのカメラの向きはアンドロイドで
- 6. 高さdivが伸びていない
- 7. SplashScreenが伸びていない
- 8. ダイナミックビューボックスが伸びていない
- 9. Androidカメラの画像をポートレートモードとランドスケープモードの両方で保存しています
- 10. カメラがポートレートモードで正常に動作するようにする
- 11. androidでポートレートモードでカメラを常に開くようにします
- 12. Windows Phoneユーザーコントロールがリストボックスで伸びない
- 13. 9patchは縦に伸びますが横には伸びません
- 14. ビデオ画面が縦に伸びています
- 15. 枝の中に枝が伸びていますか?
- 16. クローズオブジェクトが伸びている/消失点が変わっていますか?
- 17. なぜこのテーブルが伸びているのですか?
- 18. コンテナが画像で伸びていない
- 19. フレックスボックスの幅(横)は伸びますが、縦(高さ)は伸びないようにします
- 20. ナビゲーションバーが全幅に伸びないoniPad
- 21. html - 本文がフルハイトページに伸びない
- 22. 背景画像が完全に伸びていない
- 23. divの高さが100%に完全に伸びていない
- 24. UWP DataTemplateの列が伸びていない
- 25. 画像が伸びて中央に配置されていますか?
- 26. コンテンツ100%伸び
- 27. Android ExpandableListViewインジケータ/アイコンは常に伸びています
- 28. Ipadがポートレートモードでセンタリングしていて、ランドスケープモードで動作する
- 29. テキストボックスが伸びて表示ボックスを埋めない
- 30. コンテナdivはコンテンツに伸びていませんか?
を持っていますか?私はプレビューが画面の約半分になるようにしたいが、値をハードコードしたくないので、別の画面サイズでも動作するようにしたい。 – user1154920
これはSurfaceHolderコールバックメソッドなので、メソッドのheightパラメータとwidthパラメータはハードウェアプレビューを画面の半分にしたい場合は、単にif文で設定します:parameters.setPreviewSize(width/2、height/2); –