c# - GDI+ 离屏缓冲滚动

标签 c# gdi+ drawing scroll buffer

我正在使用 C# GDI+ 创建自定义控件。

快速解释...该控件将在屏幕上显示 500 像素,但可能包含 500000 像素的信息。因此,虽然我一次只显示 500px,但我显然需要在水平面(左和右)上滚动。棘手的部分是每个 500px 的位图 block 都需要一段时间(100 毫秒 - 1000 毫秒)来渲染。

所以我的计划是在内存中维护一个 1500px 的位图。即 500px 可见部分和可见区域两侧 500px,并在用户滚动时异步绘制离屏部分。

我想要一些反馈、建议、批评或代码示例来帮助我实现这一目标。这看起来相当简单,但经过几次初步测试尝试后,事实证明它比人们想象的要困难。

谢谢。

最佳答案

此方法的有效性取决于用户的移动量等因素。如果用户做了小 Action ,然后停下来考虑新信息,这可能会起作用。但是,如果用户来回移动,您仍然会遇到问题。

您的应用程序是否有助于逐渐提高图像质量 - 即提供快速可用的图像,然后在用户停止考虑时对其进行改进?

关于c# - GDI+ 离屏缓冲滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/727329/

相关文章:

c++ - 将 GDI+ 与 GDI 混合

c# - 将 TIFF 保存到流时参数无效

ios - 扩展DrawingView框架在iOS中存在一些问题

java - JPanel 上的线条未重新绘制

c# - 在 Unity 中保存/加载数据

c# - 是否可以单步执行 C++ 结构的成员?

c++ - 像素颜色计算 255 到 0

c++ - 如何在 Qt 中的框架上绘图?

c# - VB.NET 和 C# 中的日期时间

c# - .NET 中的多重继承有哪些好的替代方案?