使用多个位图旋转整个画布的最佳方法?

时间:2013-06-27 00:09:44

标签: android

我有ImageView个自定义onDraw,我在某些(x,y)坐标上绘制了许多位图。这些位图无法更改。我想将整个图像旋转-90度,以便水平绘制的图像垂直放置。 (是的,这个视图存在于纵向模式应用程序中。)

我使用Canvas.rotateCanvas.scaleMatrix.postRotate尝试了多种变体,但没有成功。旋转很容易,但是获得所需的布局似乎是不可能的。我在绘制的对象在视图外面被禁止。我显然对枢轴坐标或其他什么做错了。任何帮助表示赞赏!

canvas.rotate(-90.0f, getWidth() / 2, getHeight() / 2);

旋转画布的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

看看这是否有帮助。来自API演示的Compass.java示例首先使用canvas.translate,然后使用仅限角度的canvas.rotate。

    int w = canvas.getWidth();
    int h = canvas.getHeight();
    int cx = w / 2;
    int cy = h / 2;

    canvas.translate(cx, cy);
    if (mValues != null) {
        canvas.rotate(-mValues[0]);
    }
相关问题