Android canvas 使用路径剪辑蒙版

Android canvas clip Mask using path

我需要画这个:

还有这个:

我可以制作物体并用 x y 线和长度 + 角度(矢量)从点旋转它吗?

但我不明白如何使用路径为 canvas 制作剪贴蒙版。

red.setColor(0xff033cd0);
        red.setStyle(Paint.Style.FILL);
        path.reset();
        path = new Path();
        path.reset();
        path.moveTo(boxWTstopX, boxWTstartY);
        path.lineTo(boxWTstartX, boxWTstartY);
       // path.moveTo(point2_returned.x, point2_returned.y);
        path.lineTo(boxWTstartX, boxWTstopY);
        path.lineTo(boxWTstopX, boxWTstartY);
        //path.moveTo(point3_returned.x, point3_returned.y);
       // path.lineTo(point1_returned.x, point1_returned.y);
        path.close();

        //canvas.drawPath(path, red);
        canvas.clipPath(path);

但之后我在 Retrangle 区域上绘图...我该怎么做?我不知道。

P.S:

我不知道为什么我不能用长度 100 和宽度 200 重新排列对象,而不是用绳索打印它!它会比 2 点多 "friendly"... 可能吗?

也许有一种方法可以制作对象(包含:路径 + 矩形 + 等),而不是从 x y 线打印它?

Can i make object and rotate it from point with x y cord and length + angle (vector)?

好吧,你可以。但不是旋转 对象 ,您可以增量旋转 canvas 然后绘制。所以你需要做的就是使用canvas.rotate()。您的要求听起来很像我研究过的 绘制 Meter guage 的指针。你可以参考这个:。这将使您了解如何通过旋转 canvas.

进行绘制。

But i can't understand how to make a clip mask for canvas using Path.

您使用 clipPath 来执行一种掩蔽。你如何做到这一点?好吧参考这个:。问题中的代码会让你知道如何使用clipPath。但是你不能在这个里面得到ANTI-ALIAS。如果需要,请通过答案执行 Bitmap Masking.