问题 如何有效地绘制数据?

萨沙普

新成员
已加入
2017年6月20日
留言内容
1
编程经验
3-5
你好!

我的目标是:
我想在WinForms面板或图像/位图上绘制一个巨大的图像。

图像的基本数据是大约50.000个数据集,每个数据集的长度约为1024字节。每个字节被拆分为多个位,如果该位为1,则相关像素为黑色,如果为0,则像素为白色(或更透明)。每个数据集都是图像中的一列,每一位都是一行。

到目前为止,我有:
我正在使用位图在其上绘制数据。位图显示在Picurebox内,因此我可以滚动整个图像而无需每次都重新绘制整个数据。
效果很好,但我想提供缩放功能。此刻,用户可以选择需要多少像素,然后重新绘制图像。但您可以想象"zoom-factor"大于每位5-7像素,我会收到OutOfMemoryException ...另外,此刻,我仅提供垂直方向的缩放,而不提供水平方向的缩放!

我的问题:
有没有一种优雅的方式来解决我的任务而无需占用整个内存?
我的想法之一是直接将数据绘制到查看面板上,但随后我只能绘制图像的一部分,并且必须创建复杂的(?)逻辑以重新绘制图像的正确部分...但是通过此解决方案,我也将能够提供无限的缩放功能,因为我不需要更多的内存...
我可以遵循的任何想法或提示吗?

提前致谢,
萨沙
 
最佳 底部