0

android 中具有纵向模式的相机方向可提供 90 度旋转角度的视图。链接在这里说是android中的一个错误,我使用的是sdk 2.2。 http://code.google.com/p/android/issues/detail?id=1193

我已经尝试了链接中的所有方法,但无法解决问题。关于这个问题的任何答案都会有所帮助。期待您的回复。谢谢。

4

1 回答 1

1

我不确定您将如何进一步使用这些捕获的图像。. . 因此,如果您要捕获并仅在 Imageview 中显示它,最好将其旋转到 90 度并使用以下代码设置位图

public static Bitmap rotate(Bitmap b, int degrees) 
{
    if (degrees != 0 && b != null) 
    {
        Matrix m = new Matrix();

        m.setRotate(degrees, (float) b.getWidth() / 2, (float) b.getHeight() / 2);
        try {
            Bitmap b2 = Bitmap.createBitmap(b, 0, 0, b.getWidth(), b.getHeight(), m, true);
            if (b != b2) 
            {
                b.recycle();
                b = b2;
            }
        } catch (OutOfMemoryError ex) 
        {
           throw ex;
        }
    }
    return b;
}

或者,如果您要将其保存到 SD 卡并使用它,请在拍照后使用以前的代码旋转位图,然后将其保存在 sdcard 中。

于 2012-10-24T06:19:34.670 回答