GDI 中發生一般性錯誤

2021-05-01 11:24:57 字數 1035 閱讀 5029

替代方法

•    建立非索引映像。

•    建立索引映像。

這兩種情況下, 原始 位圖 上呼叫 bitmap.dispose() 方法刪除該檔案上鎖或刪除要求, 流或記憶體保持活動。

建立非索引影象

即使原始映像被索引格式中該方法要求新影象位於每畫素 (超過 8 位 -) -, 非索引畫素格式。 此變通方法使用 graphics.drawimage() 方法來將映像複製到新 位圖 物件:

1.    構造從流、 從記憶體, 或從檔案原始 位圖 。

2.    建立新 位圖 的相同大小, 帶有是超過 8 位 - - 畫素 (bpp) 每畫素格式。

3.    使用 graphics.fromimage() 方法以獲取有關二 位圖 graphics 物件。

4.    用於 graphics.drawimage() 繪製首 位圖 到二 位圖 。

5.    用於 graphics.dispose() 處置是 圖形 。

6.    用於 bitmap.dispose() 是首 位圖 處置。

建立索引映像

此解決辦法在索引格式建立乙個 bitmap 物件:

1.    構造從流、 從記憶體, 或從檔案原始 位圖 。

2.    建立新 位圖 具有相同的大小和畫素格式作為首 位圖 。

3.    使用 bitmap.lockbits() 方法來鎖定整個影象對於兩 bitmap 物件以其本機畫素格式。

4.    使用 marshal.copy 函式或其他記憶體複製函式來從首 位圖 複製到二 位圖 影象位。

5.    使用 bitmap.unlockbits() 方法可以解鎖兩 bitmap 物件。

6.    用於 bitmap.dispose() 是首 位圖 處置。

由於外國人的思維和我們不一樣,我重新用例項解釋一下,我這裡使用的是建立非索引影象。

private void toolstripmenuitem_click(object sender, eventargs e)

}通過以上的讀取檔案,在儲存的時候就不會出現錯誤了。

GDI 中發生一般性錯誤 的解決辦法

bitmap 物件或乙個 影象 物件從乙個檔案,構造時該檔案仍保留鎖定對於物件的生存期。因此,無法更改影象並將其儲存回它產生相同的檔案。建立乙個bitmap型別的bmp變數來讀取檔案。bitmap bmp new bitmap openfiledialog1 filename 新建第二個bitmap...

一般性原則

1 遵循原來的編碼風格 當更改原來的 的時候,你的所有改變都應遵循原來的風格,不要引入乙個新的風格,不要試圖更改原來的 僅僅用來符合新的風格。在乙個檔案內擁有不同的 風格會使程式非常的難以閱讀和理解。從寫原來的 來改變它的風格有可能會引入一些可以避免的過失或錯誤。2 遵循最少意外原則 這個原則是建議...

錢包的一般性介紹

最近有很多朋友問我關於錢包的一些知識,為避免重複回答,下文做簡要一般性介紹,以後有人再問就直接給本文章的鏈結 顧名思義,錢包是用來儲存錢的。但在數字貨幣的世界中,錢包裡面並沒有 錢 錢包賬戶裡有多少 錢 都是記錄在區塊鏈上的,錢包裡只是儲存了賬戶對應的 私鑰,賬戶是從私鑰相應的公鑰衍生出來的。只要有...