【问题标题】:DrawReversibleLine() and double bufferingDrawReversibleLine() 和双缓冲
【发布时间】:2011-06-27 04:47:06
【问题描述】:

我正在使用自定义双缓冲,并想用DrawReversibleLine() 画一条橡皮筋线。但这怎么能做到呢?此方法直接绘制到屏幕上,所以我看不出如何在背景缓冲区上绘制。你会怎么做?

【问题讨论】:

    标签: c# .net winforms doublebuffered


    【解决方案1】:

    我会...用我的图像手动管理一个后台缓冲区,然后手动绘制它,然后在发生更改时在屏幕上使用橡皮筋,即拉动橡皮筋线的一端。

    XOR-ed 线 (DrawReversibleLine()) 注定要与 ZX Spectrum 或 Hercules 图形一起消亡。

    【讨论】:

      【解决方案2】:

      您应该在前缓冲区中绘制:DrawReversibleLine 无需重新绘制缓冲区即可工作,您只需在同一位置重新绘制线条即可使其消失。这是一个很好的优化,允许您只绘制橡胶框whitout 来绘制整个场景,因此在屏幕上绘制 DrawReversibleLine 应该不是问题。

      【讨论】:

      • 问题是直线直接绘制到屏幕上时闪烁。在绘制新线之前,旧线的擦除变得可见。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 2011-03-05
      • 2011-08-20
      • 2011-04-23
      相关资源
      最近更新 更多