我正在使用SurfaceView(实际上我正在调整Android示例应用程序“LunarView”)。我已经更改了该示例应用程序的doDraw()方法,以便我可以将自己的东西绘制到调用中提供的画布中。这工作正常,我可以将自己的东西绘制到画布上,并且它们在模拟器中很好地显示出来。
如果可能的话,我想做的是让画布适应我的应用程序自然使用的X和Y比例方向。例如,我的应用程序需要绘制一个简单的X-Y图形,但我需要X轴“向下”屏幕,Y轴“向右”。 (换句话说,一个典型的图形,但顺时针旋转90度。)
我认为Matrix类及其setRectToRect(...)方法只是这个的票,但它对我不起作用。我尝试了一大堆不同的setRectToRect(...)调用,每当我调用它时,我的画布都没有显示任何内容。如果我注释掉这些电话,我的画布会显示出我的期望。
canvas类有一些非常强大的缩放和翻译方法,所以我觉得它也支持我需要的轴交换类型,但对于我的生活,我无法弄清楚如何做到了!
任何帮助都会很棒, 谢谢 富
答案 0 :(得分:0)
富,
您可以使用画布功能....
您需要告诉它旋转的位置,使用中心坐标通常效果最佳。找到画布中心并调用它:canvas.rotate(90,cx,cy);