【发布时间】:2013-03-26 02:38:38
【问题描述】:
我创建了一个比较完整的应用程序,它允许我创建地图(包含地图所有点信息的 .txt 文件)、加载并绘制它。
我对此的解决方案是,在 windows 窗体应用程序中,放置一个面板(因为我需要能够在地图上移动)和该面板图片框内(因为我想在它们上放置背景图像和图像)表示大小为 50x50 像素的地图点。我现在面临的问题是我的应用程序的加载时间增加了,因为我正在将图片加载到图片框中......
对于我一直在尝试的方法,是否有人有任何替代建议? 视觉表示可能会有所帮助:
按要求提供的代码:(嗯,其中一些)
private void Load_Map()
{
for (int i = Y - 12; i < Y + 12; i++)
{
if ((i >= 0) & (i < Int32.Parse(MP.Mheight)))
{
string Line = xline[i];
for (int j = X - 12; j < X + 12; j++)
{
if ((j >= 0) & (j < Int32.Parse(MP.Mwidth)))
{
int X = i * Int32.Parse(MP.Mwidth) + j;
int Z = Int32.Parse(Line[j].ToString());
Map_Location[X] = Z;
Color H = new Color();
Map_Point(j, i, Map_Height(Z, H), 50);
}
}
}
}
}
创建点:
private void Map_Point(int X, int Y, Color H, int Point_Size)
{
PictureBox MP = new PictureBox();
MP.Name = Map_Coordinates(X, Y);
MP.Size = new Size(Point_Size, Point_Size);
MP.Location = new Point(Y * (Point_Size + 1) + 4, X * (Point_Size + 1) + 4);
MP.BackColor = H;
Control MW = this.Controls["WorldMap"];
MW.Controls.Add(MP);
}
【问题讨论】:
-
您介意分享您用于将图片加载到图片框中的代码吗?在不知道您已经尝试过什么的情况下,很难提供替代解决方案。
-
Does anyone have any alternative suggestion to what I have been attempting?- 是的,我愿意,切换到 WPF。 winforms 太慢太蹩脚,在做任何图形密集型的事情时需要一堆技巧。 -
tnw 有很多代码,但我肯定会分享...@HighCore 我会研究一下 :)
标签: c#