我使用canvas.DrawPath()在画布上绘制了两个箭头。我正在使用canvas.rotate()进行旋转,但显然两个箭头的旋转量相同。
我希望能够单向旋转一个箭头,并以不同的方向旋转另一个箭头。
这可能吗?
答案 0 :(得分:4)
当您使用canvas.rotate()
时,您正在改变与画布关联的变换矩阵,因此您之后绘制的所有内容都将受到矩阵当前状态的影响,您必须执行以下操作:
canvas.save(); //Save current canvas matrix state
canvas.rotate(angle);
canvas.DrawPath(); //Draw first arrow
canvas.restore(); //Restore canvas matrix to saved state
canvas.DrawPath(); //Draw second arrow without the rotation