3

我正在处理在 Android 上调整图像大小 - 有趣!这是我希望很小的问题:) 我正在使用相机意图拍照并将其保存在 SD 卡上。

  1. 有什么方法可以获得相机分辨率,所以我会知道图像的分辨率,并且每次转换时都不需要检查它?

  2. 分辨率是可能会改变的东西还是每个设备都是固定的?

  3. 所有图像都以“横向”格式保存吗?我的意思是他们总是“宽”而不是“高”?

  4. 如果我在屏幕上有 ImageView - 我怎么知道它需要正确填充的位图大小?我连续有 4 个 Imageviews - 所有的重量都相等,所以我想我需要想出屏幕宽度并适当调整位图的大小?

  5. 如果我需要将图像缩放到精确的宽度 - 这是否意味着我必须计算从 OldX 到 NewX 的“比率”,然后在调用 Bitmap.createScaledBitmap 之前将其应用于 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 回答