2015-06-16 48 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