Agn*_*ian 8 .net graphics gdi+
有什么Graphics.Save
不同Graphics.BeginContainer
?
看看这里:
该文档没有区分对 BeginContainer/EndContainer 的调用以及对 Graphics.Save 和 GraphicsRestore 的调用。此外,文档中还存在一些错误。[例如,GraphicsState 被错误地断言为由 BeginContainer 使用]
在我的使用中,BeginContainer/EndContainer 似乎保存和恢复当前的转换。它实际上并不像文档声称的那样保存剪切区域,并且可能不会保存图形对象中的任何其他属性。
通过“保存/恢复”,我实际上能够保存/恢复剪切区域、当前变换和其他设置。它似乎比容器功能更“完整”,即使不完整。因此,我怀疑这两种不同方法的性能/完整性之间的权衡。
我还怀疑文档中声明 GraphicsState 对象(由 Save 使用)与 GraphicsContainer 对象(由 BeginContainer 使用)一样存储在堆栈中是否正确。我怀疑 GraphicsState 甚至可能不会放在堆栈上,但我还没有测试这个假设。