我創建了一個有點完整的應用程序,它允許我創建一個地圖(帶有關於地圖所有點信息的.txt文件),加載它並繪製它。地圖製作應用程序
我的解決方案是,在Windows窗體應用程序中,放置一個面板(因爲我需要能夠在地圖上移動)和麪板的pictureboxes(因爲我想把一個背景圖像和圖像)代表大小爲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);
}
你介意分享你正在用來將圖片加載到圖片框中的代碼嗎?不知道你已經嘗試了什麼,很難提供替代解決方案。 – tnw 2013-03-25 18:25:19
'有沒有人對我一直在嘗試的東西有其他建議?' - 是的,切換到WPF。 winforms太慢而且很糟糕,當涉及到任何圖形密集型的事情時,需要一堆黑客。 – 2013-03-25 18:25:43
tnw有很多的代碼,但我肯定會分享... @HighCore我會研究它:) – 2013-03-25 18:31:39