檢視原始碼 wxMemoryDC (wx v2.4.3)

記憶體裝置上下文提供了一種在點陣圖上繪製圖形的方法。

當在單色點陣圖上繪製時,使用 wxWHITEwxWHITE_PENwxWHITE_BRUSH 將繪製背景顏色 (即 0),而所有其他顏色將繪製前景顏色 (即 1)。

必須先將點陣圖選入新的記憶體 DC 中,才能用於任何用途。典型用法如下:

請注意,必須先刪除記憶體 DC (或將點陣圖從中選出),才能將點陣圖重新選入另一個記憶體 DC 中。

並且,在對點陣圖資料執行任何其他操作之前,必須先將點陣圖從記憶體 DC 中選出。

wxMemoryDC 物件超出範圍時,會自動執行此操作。

請參閱

這個類別繼承自以下類別,並可以使用以下類別的函式:

wxWidgets 文件:wxMemoryDC

摘要

函式

銷毀物件

建構新的記憶體裝置上下文。

建構一個新的記憶體裝置上下文,使其具有與給定的現有裝置上下文相同的特性。

運作方式與 selectObjectAsSource/2 完全相同,但當您選擇點陣圖是因為要修改它時,您應該使用這個函式,例如:

將給定的點陣圖選入裝置上下文,以用作記憶體點陣圖。

類型

-type wxMemoryDC() :: wx:wx_object().

函式

-spec destroy(This :: wxMemoryDC()) -> ok.

銷毀物件

-spec new() -> wxMemoryDC().

建構新的記憶體裝置上下文。

使用 wxDC:isOk/1 成員來測試建構子是否成功建立可用的裝置上下文。別忘了在 DC 中選取點陣圖,然後才能在上面繪圖。

-spec new(Dc) -> wxMemoryDC() when Dc :: wxDC:wxDC() | wxBitmap:wxBitmap().

建構一個新的記憶體裝置上下文,使其具有與給定的現有裝置上下文相同的特性。

此建構子會建立一個與 wxMSW 中的 dc 相容 的記憶體裝置上下文,在其他埠中會忽略此引數。如果 dc 為 NULL,則會建立一個與螢幕相容的裝置上下文,就像使用預設建構子一樣。

連結到此函式

selectObject(This, Bitmap)

檢視原始碼
-spec selectObject(This, Bitmap) -> ok when This :: wxMemoryDC(), Bitmap :: wxBitmap:wxBitmap().

運作方式與 selectObjectAsSource/2 完全相同,但當您選擇點陣圖是因為要修改它時,您應該使用這個函式,例如:

在此 DC 上繪圖。

當修改點陣圖時使用 selectObjectAsSource/2 可能會產生一些與 wxBitmap 作為參考計數物件相關的問題 (請參閱 overview_refcount)。

在使用更新的點陣圖資料之前,請務必先將它從上下文中選出,方法是將 ?wxNullBitmap 選入裝置上下文中,或完全銷毀裝置上下文。

如果點陣圖已在此裝置上下文中選取,則不會執行任何操作。如果它在另一個上下文中選取,則函式會斷言,並且在點陣圖上繪圖將無法正確運作。

請參閱:wxDC:drawBitmap/4

連結到此函式

selectObjectAsSource(This, Bitmap)

檢視原始碼
-spec selectObjectAsSource(This, Bitmap) -> ok when This :: wxMemoryDC(), Bitmap :: wxBitmap:wxBitmap().

將給定的點陣圖選入裝置上下文,以用作記憶體點陣圖。

將點陣圖選入記憶體 DC 中,可讓您在 DC (以及因此點陣圖) 中繪圖,並且可以使用 wxDC:blit/6 將點陣圖複製到視窗。為此,您可能會發現 wxDC:drawIcon/3 更易於使用。

如果引數是 ?wxNullBitmap (或某些其他未初始化的 wxBitmap),則會將目前的點陣圖從裝置上下文中選出,並還原原始點陣圖,從而可以安全地銷毀目前的點陣圖。