DrawReversibleLine() 和双缓冲

发布于 2024-10-17 12:28:31 字数 108 浏览 1 评论 0原文

我正在使用自定义双缓冲,并希望使用 DrawReversibleLine() 绘制橡皮筋线。但这怎么办呢?此方法直接绘制到屏幕,因此我看不出如何在后台缓冲区上绘制。你会怎么办?

I'm using a curstom double buffering and want to draw a rubber band line with DrawReversibleLine(). But how can this be done? This method draws directly to the screen, so I see no way how to draw on the background buffer. What would you do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

腻橙味 2024-10-24 12:28:31

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

异或线 (DrawReversibleLine()) 旨在与 ZX Spectrum 或 Hercules 图形一起消亡。

I would... have one manually managed back buffer with my image, and manually paint it then rubber band on the screen when something is changed i.e. one end of the rubberband line pulled.

XOR-ed lines (DrawReversibleLine()) were meant to die with ZX Spectrum or Hercules graphics.

愚人国度 2024-10-24 12:28:31

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

You should draw in the front buffer: DrawReversibleLine works without needing to redraw the buffers, you just have to redraw the line in the same place to make it disappear. This is a good optimization that allow you to just draw the rubber box whitout drawing the entire scene, so having DrawReversibleLine drawing onto the screen should not be an issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文