3

Androidで画像のサイズ変更を扱っています-楽しいです!これが私がうまくいけば小さな質問です:)私はカメラの意図を使用して写真を撮り、SDカードに保存しています。

  1. カメラの解像度を取得して、画像の解像度を知り、変換するたびに確認する必要がないようにする方法はありますか?

  2. 解像度は変更される可能性がありますか、それともデバイスごとに固定されていますか?

  3. すべての画像は「横」形式で保存されますか? 私は彼らが常に「高い」よりも「広い」ということですか?

  4. 画面に ImageView がある場合、適切に塗りつぶすために必要なビットマップのサイズをどのように知ることができますか? 私は 4 つの Imageviews を続けて持っています - すべて同じ重みなので、画面の幅を考え出し、ビットマップのサイズを適切に変更する必要があると思いますか?

  5. 画像を正確な幅にスケーリングする必要がある場合、Bitmap.createScaledBitmap を呼び出す前に、OldX から NewX への「比率」を計算し、それを OldY に適用する必要があるということですか?

4

1 に答える 1

0
  1. getSupportedPictureSizes() メソッドを探しています: http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPictureSizes (). 検索するメソッド名があれば、そこにはたくさんのサンプル コードがあります。

  2. 1で答えた。

  3. 向きを使用するか無視することができます。http://developer.android.com/reference/android/hardware/Camera.Parameters.html の setRotation を参照してください

  4. 画像ビューで getWidth() と getHeight() を呼び出すだけで、ビットマップのサイズを変更して収まるようにすることができます。

  5. または、イメージ ビュー自体の scaleType を CENTER_INSIDE に設定し、ビットマップを追加することもできます (既にビットマップがある場合)。http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

于 2011-07-09T04:56:50.390 に答える