1
我最近不得不修改一個MFC應用程序來做一些漂亮的圖形(模擬LCD顯示)。這不是我的主場,但我設法用GDI +解決它; GraphicsPath,貝塞爾曲線和矩陣轉換現在是我的朋友。但令我感到奇怪的是,矩陣轉換操作默認情況下倒退。爲什麼'MatrixOrderPrepend'是GDI +中的默認轉換順序?
如果我做這樣的事情......
Graphics g;
g.TranslateTransform(...)
g.RotateTransform(...)
s.ScaleTransform(...)
...然後轉換應用相反的順序:規模,然後旋轉,然後翻譯。這對我來說是違反直覺的。
我知道我可以添加參數變換呼籲改變行爲,我想要的東西,像這樣:
g.RotateTransform(..., MatrixOrderAppend)
g.ScaleTransform(..., MatrixOrderAppend)
什麼是有MatrixOrderPrepend
爲默認的理由?