Dot-Net

Graphics.Save 與 Graphics.BeginContainer

  • February 21, 2015

有什麼Graphics.Save不同Graphics.BeginContainer

看看這裡

該文件沒有區分對 BeginContainer/EndContainer 的呼叫和對 Graphics.Save 和 GraphicsRestore 的呼叫。此外,文件中存在一些錯誤。

$$ e.g., GraphicsState is incorrectly asserted to be used by BeginContainer $$ 在我的使用中,BeginContainer/EndContainer 似乎可以保存和恢復目前的轉換。它實際上並沒有像文件所斷言的那樣保存剪輯區域,並且它可能不會保存圖形對像中的任何其他屬性。

通過保存/恢復,我實際上能夠保存/恢復剪輯區域、目前變換和其他設置。它似乎比容器功能更“完整”,如果不完整的話。因此,我懷疑這兩種不同方法的性能/完整性權衡。

我還懷疑文件是否正確地說明 GraphicsState 對象(由 Save 使用)儲存在堆棧中,就像 GraphicsContainer 對象(由 BeginContainer 使用)一樣。我懷疑 GraphicsState 甚至可能不會放在堆棧上,但我沒有測試過這個假設。

引用自:https://stackoverflow.com/questions/1320689