在 .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 會將這些色彩評估為不同的色彩。

  • .NET Compact Framework 不支援使用現有 Font 物件的 Font 類別建構函式。

  • 您只能在 FormControl 物件上使用 CreateGraphics 方法。

  • 如果無法載入影像,請確定 imgdecmp.dll 位於裝置的 Windows 目錄中。

  • IconCloneFromHandle 方法能在執行 Windows Mobile 5.0 版的裝置上運作。.NET Compact Framework 支援高解析度圖示,但不支援高彩圖示。

  • .NET Compact Framework 不支援漸層筆刷。然而,您可以與原生函式相互操作以達成漸層顯示。如需範例,請參閱 HOW TO:顯示漸層填滿

改進的繪圖速度

下列程式設計作法能夠改進在使用 Graphics 物件時的繪圖效能:

  • 僅建立一個 Graphics 物件,或是使用來自 OnPaint 方法中 PaintEventArgs 的物件。

  • 描繪至幕後點陣圖,然後一次將點陣圖描繪至顯示螢幕。如需程式碼範例,請參閱 HOW TO:在螢幕外繪製影像

  • 重新描繪已變更的影像部分。

  • 描繪相同的目的和來源大小;盡可能避免縮放。

  • 持續追蹤需要重新描繪的項目,最小化發生描繪的次數。例如,將游標拖曳過影像時,不需要重新描繪整個影像。僅重新描繪先前游標位置所覆蓋的影像部分即可。

請參閱

其他資源

.NET Compact Framework 中的 Mobile Direct3D 程式設計

.NET Compact Framework 中的互通性

.NET Compact Framework 中的圖形與繪圖