在Android中的纵向模式下的相机方向

时间:2011-12-30 05:20:55

标签: android android-camera android-camera-intent

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

我已尝试过链接中的所有方法,但无法正确设置问题。关于这个问题的任何答案都会有所帮助。期待您的回复。 感谢。

1 个答案:

答案 0 :(得分: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卡并使用它,在拍照后使用以前的代码旋转位图,然后将其保存在SD卡中。