about中的文件Canvas.setMatrix()
说:
用指定的矩阵完全替换当前矩阵。如果矩阵参数为空,则当前矩阵重置为单位。
关于Canvas.concat()
说:
将当前矩阵与指定矩阵预连接。
但看起来很奇怪。当我尝试这段代码时:
Matrix matrix = new Matrix();
mCamera = new Camera();
canvas.save();
mCamera.rotateY(y_rotate_angle);
mCamera.getMatrix(matrix);
canvas.concat(matrix);
canvas.drawText(text, 30, 100, redPaint);
// canvas.restore();
canvas.setMatrix(null);
canvas.setMatrix(matrix);
canvas.drawText(text, 30, 100, greenPaint);
结果,第二个文本将在 (60,100)处绘制,而不是在 (30,100) 处绘制(即使我尝试canvas.restore()
并发表评论canvas.setMatrix
)。