转换图像并另存为字节数组

时间:2018-11-13 09:47:46

标签: c# arrays file-conversion

我想将简单图片转换为字节数组,然后将该数组保存为.txt 我尝试执行此操作,但我迷路了。我无法转换此...我想要数组,并且数组中的数字应出现在1的地方。如果什么都不应该是0。< / p>

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Image image = Image.FromFile(@"D:\Stackimage\1.png");
            var ms = new MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

            var bytes = ms.ToArray();



            string[] tab = new string[1000000];

            for (int i = 0; i < 1000000; i++)
            {

                tab[i] = "" + bytes;
            }
            MessageBox.Show("start");
            using (System.IO.StreamWriter writer = new System.IO.StreamWriter(@"D:\data.txt"))
            {
                foreach (string elem in tab)
                {
                    writer.WriteLine(elem);
                }
            }
            MessageBox.Show("stop");
        }

我在这里添加我的图片。 My picture

1 个答案:

答案 0 :(得分:0)

我知道您正在尝试做什么。在带有heightMap的地形渲染中使用了类似的方法。想法是将灰度图像映射到文本文件中,该文本文件又用于生成地形的高度。

在您的情况下,您可以将其映射为0和1(其中1s是障碍物的颜色)。

然后您可以将映射的文本文件上传到2D数组中,这将是您的地图鸟瞰图。

当机器人在场景中移动时,您可以通过检查2D阵列图上的当前位置来检测它是否可以安全地移动。

希望有帮助。