Android 如何反转路径对象?
我已经从路径对象创建了一个拱门,如下所示:Android 如何反转路径对象?,android,android-canvas,android-graphics,Android,Android Canvas,Android Graphics,我已经从路径对象创建了一个拱门,如下所示: path.addArc(rect, 0f, -180f) //and this draws my path CCW. //and if i wanted it drawn CW: path.addArc(rect, -180f, 180f)//reverse 但我希望我不必这么做。我希望有这样一个功能: path.reverse() 我不知道有一个:但我不知道如何使用它与弧。。。。你知道我怎样才能更好地扭转局面吗 您可以反转动画的步长计数器,而不
path.addArc(rect, 0f, -180f) //and this draws my path CCW.
//and if i wanted it drawn CW:
path.addArc(rect, -180f, 180f)//reverse
但我希望我不必这么做。我希望有这样一个功能:
path.reverse()
我不知道有一个:但我不知道如何使用它与弧。。。。你知道我怎样才能更好地扭转局面吗 您可以反转动画的步长计数器,而不是还原圆弧 pathMeasure=新的pathMeasure(yourArcPath,false)
矩阵mxTransform=新矩阵();
float eachStepLen=pathMeasure.getLength()/200//200个动画步骤
if(currentStep指定闭合形状(如矩形、椭圆形)添加到路径时的方向。
-方向仅在添加闭合形状时使用。其他任何操作都需要手动完成。您的用例是什么?为什么要反转整个路径?我正在显示动画路径。有时我希望反转
Matrix mxTransform = new Matrix();
float eachStepLen = pathMeasure.getLength() / 200; //200 animation steps
if (currentStep <= 110 && !reverseActive) {
currentStep ++; // --- Going forward...
pathMeasure.getMatrix(
eachStepLen * currentStep,
mxTransform,
PathMeasure.POSITION_MATRIX_FLAG);
canvas.drawBitmap(image, mxTransform, null);
} else {
reverseActive = true;
pathMeasure.getMatrix(
eachStepLen * currentStep,
mxTransform,
PathMeasure.POSITION_MATRIX_FLAG);
canvas.drawBitmap(image, mxTransform, null);
currentStep --; // --- Going backwards...
if (currentStep == 0){
reverseActive = !reverseActive;
}
}