C#PictureBox和PNG的2x字节数组

时间:2015-06-06 08:19:41

标签: c# arrays png bytearray picturebox

我正在开发2D游戏。为了更容易,我创建了一个项目编辑器和精灵编辑器。 Sprite编辑器将所有PNG加载到所选目录中,将其打包成字节数组并保存到文件中。项目编辑器导入该文件并在两个列表上显示精灵和项目。现在一切正常,因为每个项目都有一个精灵,因此将字节数组变形为位图并将其放入PictureBox非常容易。但现在我要制作更大的物品,最多9个精灵(中心和8个左右)。

下面是每个项目只加载一个精灵的简单代码:

    private void LItemss_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(this.LItemss.SelectedIndices.Count <= 0)
            return;
        int intselectedindex = LItemss.SelectedIndices[0];
        if(intselectedindex >= 0 && this.itemsSID.ContainsKey(intselectedindex))
        {
            GameItem item = this.itemsSID[intselectedindex];
            this.currentImage = item.Image;
            this.TName.Text = item.Name;
            this.TServerID.Text = item.ServerID.ToString();
            this.TClientID.Text = item.ClientID.ToString();
            this.CBlocking.Checked = item.Blocking;
            this.CGround.Checked = item.Ground;
            this.CTop.Checked = item.Top;

            if(item.Image != null && item.Image != "" && this.sprites.ContainsKey(item.Image))
            {
                MemoryStream memoryStream = new MemoryStream();
                byte[] data = this.sprites[item.Image];
                memoryStream.Write(data, 0, Convert.ToInt32(data.Length));
                Bitmap bm = new Bitmap(memoryStream, false);
                memoryStream.Dispose();
                this.PSprite.Image = bm;
            }
            else
                this.PSprite.Image = null;
        }
    }

让我们说现在byte []数据而不仅仅是字节数组将是一个9大小的数组,从0到8个字节数组,每个数据都有不同的sprite。我的问题是如何将所有这些PNG数组连接到一个PictureBox中?

0 个答案:

没有答案