關於C 中的graphics變數的dispose問題

2025-03-25 12:40:06 字數 3037 閱讀 5450

1樓:憶夢瀟湘

creategraphics()是你建立的乙個新的graphics物件,這個物件用完之皮族後自然要dispose釋放掉。讓握銷。

而 是來自控制項 paint 事件的引數,這個 graphics 不是使用者建立的,是控制項內部用於繪製界坦遊面的畫布,當然不能隨便 dispose 啦。注意這是傳遞來的引數,並不由事件的註冊者建立,dispose是要控制項自己完成的。

2樓:

同意一樓,其一:通過建立的物件是在某物件中建立的畫圖,在此物件中已有該物件李返碧的釋放記憶體的指令;

其二:creategraphics只是建立乙個graphics物件,這二者的意義是不同的。」

只是被封裝了,你看不到底層的**,我覺的這哪舉就是好多人希望世檔微軟的原因之一,c++

就不會有這種情況;還有。net框架集是側重於開發效率的。

j**a程式設計中graphics為什麼要用後要馬上dispose

3樓:網友

你的draw(g)裡執行的應該是一些繪圖操作吧,graphics2d 相當於2d繪圖工具,繪圖操作只是使用繪圖工具繪圖,而不該釋放這個繪圖工具資源 。如果你有兩個方法要使用到g這個物件,g就沒法複用了。乙個方法做好一件事就行了。

4樓:it的磚頭

用完就要釋放掉,當然僅限於釋放螢幕資源。

c#關於graphics的資源釋放

5樓:網路審判官

本身就你的問題我也做過例子!列子才考過 csdn 劉小石 blog,大致結果於下:

在你寫完乙個gc繪圖之後,你可以用反編譯回去看下源**,到底是什麼!

以pen類為例,pen本身就實現了三個有關資源釋放的方法。

public void dispose();

private void dispose(bool disposing);

protected override void finalize();

1、如果你寫乙個不是太關注系統的執行效率平穩性的程式,可以不用管它,可以少寫很多**;另外在繪圖時會有更高的效率。

2、如果你需要考慮到gc運作時會傷害程式效能的程式時,那麼手動釋放資源會是乙個好的選擇。源於。

6樓:網友

我做過類似的軟體,記錄下影象資料儲存在集合裡,重新整理時讀入就行了。

7樓:網友

賦為null

gc會自動銷燬的。

關於c#中類的釋放問題 class dispose...求專業回答...

8樓:網友

一般不需要管這些東西吧。我從來不釋放也沒問題。

9樓:網友

c#是自帶gc垃圾**機制的。

c# winform 關於繪圖的問題,如何定義乙個graphics g作為全域性變數

10樓:網友

不用這麼麻煩定義全域性的graphics,一般也沒有這麼做的。

你的picturebox已經是全域性變數,可以這樣獲得graphics物件。

graphics g =graphics .fromhandle(;

11樓:982926玉

你這樣試試 我的就是這樣做的。新建乙個bitmap,bmp為全域性變數,然後再畫。

bmp = new bitmap(,

using (graphics g =

只要用到g的時候 就 這樣寫。

using (graphics g =

就可以了 。

12樓:網友

使用單件模式,定義乙個屬性,在第一次使用的時候建立,之後直接使用這個graphics

graohics _g; //不要使用_g,使用g繪製graphics g

lock(this)}}

c# dispose的用法

13樓:網友

idisposable介面裡面的方法原型是:void dispose().

你這個dispose(false) 應該是過載方法。。至於這個false傳進去是幹嘛用的,就要看專具體的方法是屬怎麼寫的了。

當使用using的時候,會自動呼叫void dispose()這個方法,也可以自己呼叫,dispose(false) 這個方法過載過了,應該是自己呼叫的。

void dispose()這個方法要乾的事情就是釋放資源。

具體用法參考。

c#繪圖問題~~~~記憶體不足

14樓:網友

bitmap不能釋放是吧?

g是由bitmap建立的是吧?那釋放g,後面跟句,還有問題再加句;

15樓:網友

首先斷定是否因為你的記憶體過小,我想bitmap不會佔用太多記憶體的。

16樓:一片柳葉刀

b不能釋放,但是g可以。

17樓:網友

如果軟體沒有特定安裝要求 建議安裝到非c盤。

開啟我的電腦屬性--高階--效能設定--高階--虛擬記憶體更改 將原來的值改大 或是設定在非c盤上。

j**a中dispose()這個函式是幹什麼用的

18樓:網友

swing 中 是關閉窗體,關釋放資源。

19樓:人生不過如此零

釋放由此 window、其子元件及其擁有的所有子元件所使用的所有本機螢幕資源。即這些 component 的資源將被破壞,它們使用的所有記憶體都將返回到作業系統,並將它們標記為不可顯示。

通過隨後呼叫 pack 或 show 重新構造本機資源,可以再次顯示 window 及其子元件。重新建立的 window 及其子元件的狀態與釋放 window 時這些物件的狀態一致(不考慮這些操作之間的其他更改)。

關於python的graphics兩個問題請大俠回答

恕我能力有限,第bai一個du 暫時沒辦法,不zhi過我覺得只要你第一個視窗關dao了也就沒啥影響版 python中的graphic裡如何把已經畫好的圖案取消?例如 一個三角形 move就可以了吧。那麼個物件move一下,物件最好用 這樣換起來也方便。一個小的gif圖。graphic簡化回了很多東西...

關於SPSS中多個變數合併成新變數的問題

可以在execl裡進行整理,使用函式把多選題整理成單選題格式。假設bai你設的四個變數du的變數名為a,zhib,c,d,在spss軟體中選擇 transform compute variable,dao然後把專對框設成下圖 點ok以後,b中原 屬來的1就變成2了,同樣地,使得c的值變成3,d的值變...

c語言問題求教 關於指標變數問題

你不知道為什麼會這樣?其實,這個也很好理解的。因為你的p是指向int型資料的,而int型資料在你的編譯器中佔用的是4個位元組,所以你的結果才是 2,而不是 8.就拿你這個程式來說吧。p指向的是記憶體單元1638212。但是p 1指向的確實1638212 4.而不是1638212 1.這是由你的資料型...