在二维数组中显示一个图像的多个实例

本文关键字:图像 一个 实例 显示 二维数组 | 更新日期: 2023-09-27 18:01:56

这就是我决定开始与winForm &我有2张图片,分别是35px X 35px的floor.bmp和wall.bmp

public partial class Form1 : Form
{
    int x;
    int y;
    int[] Row0 = new int[10] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
    int[] Row1 = new int[10] { 1, 1, 1, 1, 0, 0, 1, 1, 0, 1 };
    int[] Row2 = new int[10] { 1, 1, 0, 0, 0, 0, 1, 1, 0, 1 };
    int[] Row3 = new int[10] { 1, 1, 1, 1, 0, 1, 1, 1, 0, 1 };
    int[] Row4 = new int[10] { 1, 0, 0, 1, 0, 1, 0, 0, 0, 1 };
    int[] Row5 = new int[10] { 1, 0, 0, 1, 0, 0, 0, 1, 0, 1 };
    int[] Row6 = new int[10] { 1, 1, 0, 0, 0, 0, 1, 1, 0, 1 };
    int[] Row7 = new int[10] { 1, 1, 1, 1, 0, 0, 1, 1, 0, 1 };
    int[] Row8 = new int[10] { 1, 1, 0, 0, 0, 0, 1, 1, 0, 1 };
    int[] Row9 = new int[10] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
    int[,] LevelA = new int[10,10];
    private void Form1_Load(object sender, EventArgs e)
    {
        for (x = 0; x < 10; x++)
        {
            //load all arrays 
            LevelA[0, x] = Row0[x];
            LevelA[1, x] = Row1[x];
            LevelA[2, x] = Row2[x];
            LevelA[3, x] = Row3[x];
            LevelA[4, x] = Row4[x];
            LevelA[5, x] = Row5[x];
            LevelA[6, x] = Row6[x];
            LevelA[7, x] = Row7[x];
            LevelA[8, x] = Row8[x];
            LevelA[9, x] = Row9[x];
        }
    }
    private void btnCreate_Click(object sender, EventArgs e)
    {
        for (int X = 0; X < 10; X++)
        {
            for (int Y = 0; Y < 10; Y++)
            {
                //the following is the idea of what I would like to accomplish
                //if (LevelA[Y,X] == 0)
                //{
                    //Bitmap myBmp = new Bitmap(Image.FromFile(@"C:'My Documents'floor2.bmp"));
                    //myBmp.Top == Y * 35;
                    //myBmp.left == X * 35;
                //}
            }
        }
    }
}

上面的代码会像我想的那样工作吗?或者for循环的末尾只显示最后一个磁贴,因为它会不断地用一个新磁贴替换(销毁)前一个磁贴?在这种情况下,对于一个10 × 10的网格,我需要100个myBmp ?

在二维数组中显示一个图像的多个实例

您可以通过创建Bitmap对象来获取图像文件的位图。

 Bitmap bmp = new Bitmap(Image.FromFile(@"D:'MyImageFile.bmp"));

你可以把它放在或画在任何地方,只要你得到一个Graphics实例。你可以在这里找到一个简单的例子。