2011-05-19 44 views
0

嗨,我有一個位圖,它顯示在form文件中;位圖作爲指針

Bitmap btm = new Bitmap("F:\\Image.bmp"); 

我有一個類的方法,它利用這個btm,並做一些處理並返回我需要的是在課堂這個btm傳遞給該功能作爲內存指針,並返回其地址

林不知道將在此過程中能夠做到這一點C#其他C基於語言C/C++

回答

1

,如果你正在尋找一個內存指針的像素數據,然後在一個不安全的塊中使用Bitmap.LockBits() 。它會返回一個包含有關位圖和地址信息的BitmapData對象。

查看this msdn article瞭解更多信息。

編輯:只是要說明,如果你想改變像素數據,那麼你可以使用SetPixel方法,所以你不必'去不安全'。但是,如果您一次只能操縱許多像素,那麼在內存中修改它們確實會提供更好的性能。

希望有所幫助。

乾杯!

+0

即時計劃使用'getpixel'和'setpixel'這種方式能夠使用他們,因爲我用在r 8之前? – Sudantha 2011-05-19 04:59:58

+0

我還沒有嘗試調用SetPixel,而位圖被鎖定 - 我不知道結果會是什麼。如果你鎖定了它,不妨直接修改它。我建議在鎖定之前或解鎖位圖後調用setpixel,如果必須的話。 – Mel 2011-05-19 05:12:07