轉自 暗の魔法使 博客:https://blog.csdn.net/jsntzsy/article/details/88564704 作者:ExDirectUI 諾諾
工作總結
今天把路徑對象的基本功能實現完畢,由於要構造一個兼容GDI+和D2D兩種引擎的接口,而兩種引擎的機制又很不一樣,着實燒了不少腦細胞哎。
路徑主要用於繪製複雜圖形、命中鼠標測試、圓角化等地方,可以說是用處很多,所以我也是花了些心思詳細設計了它的接口,目前設想中功能應該夠用了,不夠以後再加吧。
工作成果
路徑對象的導出函數如下:
- ExPath_Create
- ExPath_Destory
- ExPath_Begin
- ExPath_End
- ExPath_Reset
- ExPath_Copy
- ExPath_Open
- ExPath_Close
- ExPath_SetFillMode
- ExPath_GetBounds
- ExPath_HitTest
- ExPath_AddLine
- ExPath_AddRect
- ExPath_AddRoundRect
- ExPath_AddArc
- ExPath_AddBezier
- ExPath_AddEllipse
下一步工作計劃
這周完成區域對象和矩陣對象的設計和開發。
作者的備忘錄
由於D2D和GDI+中圓弧的添加方式完全不一樣,所以用了一堆三角函數,算的我都頭疼。
目前橢圓、圓弧可能還存在一些問題,抽空再花心思調試吧。
什麼時候再去找找有沒有D2D添加文本進路徑的方法,不然做發光字之類的效果不太好辦。