android如何旋转画布rect

前端之家收集整理的这篇文章主要介绍了android如何旋转画布rect前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建一个特定大小的矩形,现在我想将它旋转到45度,我使用canvas.rotate,矩阵,但不工作.如何在 android中旋转画布的正确方法?我对Path.Direction.CW感到好奇,是否用于旋转?但我没有在Path()中看到任何旋转功能
paint.setAntiAlias(true);
    paint.setStrokeWidth(2);
    paint.setColor(Color.BLUE);
    paint.setAlpha(75);

    Path path = new Path();
    path.addRect(166,748,314,890,Path.Direction.CW);
    canvas.rotate(45);
    canvas.drawPath(path,paint);

解决方法

要绘制旋转的矩形,您需要在绘制之前旋转画布(如果您正在绘制任何其他内容,则将其向右旋转至右侧). Canvas.rotate()只是改变了画布的变换矩阵,它转换了调用后绘制的形状.
canvas.save();
canvas.rotate(45);
canvas.drawRect(166,paint);
canvas.restore();

Path.Direction与旋转变换无关.从docs

Specifies how closed shapes (e.g. rects,ovals) are oriented when they are added to a path.

猜你在找的Android相关文章