【发布时间】:2012-10-20 22:49:55
【问题描述】:
我正在为 C# Windows 窗体中的游戏创建地图编辑器。我需要的是一个必须存储数千张图像的网格。
我的第一种方法是创建一个Panel 控件,然后向其中添加多个PictureBoxes。不幸的是,绘制 2000 张图像大约需要 3 秒。
然后我决定尝试在Panel的OnPaint()方法中创建Rectangles并在它们上绘制Images,希望得到更好的结果,但它仍然很慢。
有没有更好、更有效的方法在 Windows 窗体中呈现如此多的图像?
提前感谢您的任何建议。
【问题讨论】:
-
这 2000 张图片是否同时显示在屏幕上?
-
是的,他们是。而且它们需要非常快速地渲染,以便从地图上的一个地方到另一个地方不必花费 3 秒。
-
@Mosquito - 你想要的并不现实。为什么不能生成图像,然后确定需要显示哪些图像?我认为
3 seconds的速度与您的预期一样快。 -
它们是按比例缩放的吗?即每个图像实际上是 100x100,但您显示的是 5x5 图像?
-
@Ramhound - 需要所有图像,因为有时我需要缩小并从远处查看地图。为什么不现实?那么其他地图编辑器是如何工作的呢?
标签: c# winforms image panel picturebox