2014-06-27 36 views
1

我最近不得不修改一個MFC應用程序來做一些漂亮的圖形(模擬LCD顯示)。這不是我的主場,但我設法用GDI +解決它; GraphicsPath,貝塞爾曲線和矩陣轉換現在是我的朋友。但令我感到奇怪的是,矩陣轉換操作默認情況下倒退。爲什麼'MatrixOrderPrepend'是GDI +中的默認轉換順序?

如果我做這樣的事情......

Graphics g; 
g.TranslateTransform(...) 
g.RotateTransform(...) 
s.ScaleTransform(...) 

...然後轉換應用相反的順序:規模,然後旋轉,然後翻譯。這對我來說是違反直覺的。

我知道我可以添加參數變換呼籲改變行爲,我想要的東西,像這樣:

g.RotateTransform(..., MatrixOrderAppend) 
g.ScaleTransform(..., MatrixOrderAppend) 

什麼是有MatrixOrderPrepend爲默認的理由?

回答

相關問題