在 .NET Compact Framework 中以程式設計圖形
更新:2007 年 11 月
您可以使用 .NET Compact Framework 建立穩固與具有視覺效果的應用程式。您也可以使用平台叫用從機器碼取得特殊效果。在 .NET Compact Framework 2.0 版 (含) 之後版本中,您可以設計 Direct3D 應用程式。如需有關 .NET Compact Framework 中 DirectX 和 Direct3D 的詳細資訊,請參閱 Windows Mobile DirectX 和 Direct3D。
在 .NET Compact Framework 中進行圖形物件的程式設計時,請考慮下列幾點:
.NET Compact Framework 不支援 GDI+。也不支援某些執行複雜描繪、填滿和轉換作業的 Graphics 類別方法。不支援路徑、Arc、2D 和 3D。
然而,.NET Compact Framework 確實支援核心基本描繪 (Core Drawing Primitive) 及其對應的填滿方法:橢圓形、線條、影像、多邊型、矩形、字串和區域。
您可以針對高解析度應用程式撰寫程式碼。如需高解析度的詳細資訊,請參閱 HOW TO:處理方向和解析度變更。
只支援色彩鍵透明效果,不支援 Alpha 混色和來源與背景色彩資料的個別像素混色。因此,SetColorKey 方法的 colorLow 和 colorHigh 參數必須是相同的色彩。
.NET Compact Framework 和完整的 .NET Framework 對已知色彩的比較評估有所不同。在 .NET Compact Framework 中,當您比較已知色彩 (例如 Aquamarine) 以及與 Aquamarine 具有相同 RGB 值的色彩時,結果將會相同。因為已知色彩包含超出 RGB 值的辨識資訊,所以完整的 .NET Framework 會將這些色彩評估為不同的色彩。
您只能在 Form 或 Control 物件上使用 CreateGraphics 方法。
如果無法載入影像,請確定 imgdecmp.dll 位於裝置的 Windows 目錄中。
Icon 的 Clone 和 FromHandle 方法能在執行 Windows Mobile 5.0 版的裝置上運作。.NET Compact Framework 支援高解析度圖示,但不支援高彩圖示。
.NET Compact Framework 不支援漸層筆刷。然而,您可以與原生函式相互操作以達成漸層顯示。如需範例,請參閱 HOW TO:顯示漸層填滿。
改進的繪圖速度
下列程式設計作法能夠改進在使用 Graphics 物件時的繪圖效能:
僅建立一個 Graphics 物件,或是使用來自 OnPaint 方法中 PaintEventArgs 的物件。
描繪至幕後點陣圖,然後一次將點陣圖描繪至顯示螢幕。如需程式碼範例,請參閱 HOW TO:在螢幕外繪製影像。
重新描繪已變更的影像部分。
描繪相同的目的和來源大小;盡可能避免縮放。
持續追蹤需要重新描繪的項目,最小化發生描繪的次數。例如,將游標拖曳過影像時,不需要重新描繪整個影像。僅重新描繪先前游標位置所覆蓋的影像部分即可。