android.graphics.camera错误

时间:2012-04-26 02:47:30

标签: android graphics camera

我正在eclipse上开发一个Android应用程序,并且一直在使用android.graphics.camera来转换图像。简而言之,我的应用程序采用了2D图像并给出了透视图。我的问题是我还希望在转换时在屏幕周围旋转图像。

        final Matrix mMatrix = canvas.getMatrix();
        canvas.save();
        mCamera.save();
        mCamera.rotateX(60);
        mCamera.rotateY(0);
        mCamera.rotateZ(0); 
        mCamera.getMatrix(mMatrix);
        mMatrix.preTranslate(-this.gridWidth / 2, -this.gridHeight);
        mMatrix.postTranslate(this.gridWidth / 2, this.gridHeight);
        canvas.concat(mMatrix);
        mCamera.restore();
        //Draw and move image here          
        canvas.restore();

当图像到达屏幕底部时,相机会被翻译,图像会变形。我在屏幕上看到它的碎片,但它像向后或向侧面拉。我也尝试使用rotateZ属性旋转图像,但会产生相同的效果。一旦图像“落后”翻译点,它就会变得疯狂。

我认为这可能是一个模拟器错误,所以我将它加载到我的Droid X和Acer Iconia上,效果保持不变。

我还没有看到其他人有这个问题,所以我想这里有人可能会知道发生了什么。

任何想法?

1 个答案:

答案 0 :(得分:0)

可以使用较新版本的Android解决此问题,以便更改相机距离:

http://developer.android.com/reference/android/graphics/Camera.html#setLocation(float,float,float)