gpt4 book ai didi

c# - 如何在 C# 中克隆图形?

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:51 25 4
gpt4 key购买 nike

我想为应用程序的不同部分提供独立的 Graphics 实例,这些实例最终在相同的基础 Graphics 上绘制。简单地克隆 Graphics 就可以了,但是由于两个实例都引用同一个 GDI 句柄,所以它们不是独立的。我也不能使用 Begin 和 EndContainer,因为我有一个方法必须提供新的 Graphics 实例。 -所以我无法确定何时调用 EndContainer。用例与 Java 中的 Graphics.create() 方法非常相似。

我找到了一些解决方法,但它们都不适用于 PrintController 提供的图形。

有没有我可以使用的代理图形?或者是否有可能为同一设备创建另一个图形?

最佳答案

这听起来很糟糕。 不要存储对 Graphics 对象的引用,它只会暂时存在并且仅在运行 Paint 或 PrintPage 事件处理程序时有效。请确保将其作为参数传递给执行绘图的任何方法,而不是将其存储在字段或全局变量中。

如果该方法正在改变对象的状态,则使用 Save() 和 Restore() 方法来防止这在使用同一对象的后续方法中引起问题。使用这种方法永远不需要克隆它。

关于c# - 如何在 C# 中克隆图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com