【问题标题】:Displaying mutiple instances of an image in a 2d array在二维数组中显示图像的多个实例
【发布时间】:2013-03-04 05:40:15
【问题描述】:

这就是我决定从一个名为 btnCreate 的 winForm 和 1 个按钮开始,我有 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 x 10 的网格需要 100 个 myBmp?

【问题讨论】:

  • 请尝试修正您的班次/大写锁定并在您的帖子中添加一些大写字母。也尽量不要添加无关的“我没那么聪明/谢谢/大声笑”和类似的文字。
  • 这里的拼写和语法很重要。
  • 我已经编辑了我的代码,抱歉拼写不好,我会做得更好

标签: c# arrays image


【解决方案1】:

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

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

只要您拥有Graphics 实例,您就可以在任何地方放置或绘制它。 你可以找到简单的例子here

【讨论】:

  • 谢谢詹姆斯,我认为这是正确的想法,我上面的问题并不像我想象的那么容易理解..让我把我的代码..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
相关资源
最近更新 更多