【问题标题】:Creating a map larger than form in C#在 C# 中创建大于表单的地图
【发布时间】:2012-10-10 20:31:26
【问题描述】:

我正在尝试创建某种模拟程序,我在网上搜索了答案,但找不到合适的答案。

我的程序将有 10000 x 10000 的 X 和 Y 坐标地图,我想找到一种方法来拥有这个大“地图”,但只在表单/面板上显示该地图的选定部分。 (您可以通过放置任何按钮或按键在地图上移动,我知道该怎么做)

我正在寻找一种不使用 XNA、DirectX 或任何其他高级图形引擎(例如简单的 system.graphic 和/或 system.graphic2d)来创建和显示此大地图的方法

感谢您的帮助!

【问题讨论】:

  • 不确定您是否乐于使用Silverlight,但Deep Zoom 控件可能有用silverlight.net/learn/graphics/deep-zoom/…
  • 1.您需要缩放,还是只需拖动和移动图像? 2. 100 兆像素的图像可能会导致性能问题。
  • 拖动和移动+缩放将可用,是的,但我已经通过简单地使用乘数缩放可绘制对象来处理缩放

标签: c# winforms graphic


【解决方案1】:

在您的表单上放置一个面板,调整到适当的尺寸。然后在面板中放置一个图片框,其大小与地图图形的尺寸一致(换句话说,图片框现在大于其容器控件面板)。将 Picturebox.Sizemode 设置为“正常”。

将面板的 Autoscroll 属性设置为“True”。

加载地图。滚动条可用于导航地图图像,您还可以设置一些按钮或其他导航。

您可以在 VS 设计器中执行上述所有操作,也可以使用代码以编程方式完成。

这是基本的,但它会完成工作(或者,无论如何,开始!)希望有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 2020-01-07
    • 1970-01-01
    • 2020-12-08
    相关资源
    最近更新 更多