2015-06-16 50 views
1

我是Android canvas中的新手。我在“L形矩形,矩形和一些形状”上使用Android画布创建了自定义形状。它工作正常。在我的问题是翻转自定义形状?以前我用过的比例尺翻转算法?

canvas.scale(-1.0f, 1.0f); 

它的工作。翻转后,该形状会执行一些操作,如(旋转,调整大小)。但我没有得到任何分数。所以我搜索基本的翻转算法。我没有得到它。如果你知道请分享你的意见。

回答

1

Matrix是你的朋友。事实是,使用它是一种混乱的事情,因为它被应用到画布上,并且它是一种看待事物的奇怪方式,但是一旦您注意到计算,它就会成为您的朋友。

首先将它放在纸上,并知道如何处理画布以将您的形状放置在所需的位置。也许你需要把中心翻译成你的形状,然后旋转,最后画出。然后回到原始转换。

如果您按照API取得canvas.save(),canvas.rotate(),canvas.scale() ......并且他们会像“向当前矩阵添加旋转”那样。即使你可以给自己制作的矩阵。

+0

如何从路径中获取点数? –

+0

你需要什么? – eduyayo

+0

如果你想转换一个'Path',你可以使用'Path.transform'。但是对于一种通用的绘画方式,你应该改变画布(听起来很古怪),然后画上画。 – eduyayo