C#将图像文件转换为十六进制并将十六进制转换为图像

时间:2019-05-09 20:37:51

标签: c# image-processing hex filtering

我尝试通过无线电模块从arduino发送图像,并在我的c#桌面应用程序中接收图像。 首先,我将任何拍摄的图像转换为十六进制,然后通过无线电模块发送。下一步,我将十六进制保存到img.txt文件中。 最后,我想将hext转换为图像文件,并在PictureBox上显示转换后的图像。我将使用哪种方式或代码?

  1. 我将十六进制(通过广播模块发送)转换为在线网站中的图像,可以正常工作。
  2. 还有其他方法吗? (例如:字节,整数数组或其他任何值)

我找到了这些代码,但是没有用

var str = new SoapHexBinary(File.ReadAllBytes(@"E:\test.txt")).ToString();
var str2 = BitConverter.ToString(File.ReadAllBytes(@"E:\test.txt"));

我在桌面应用中使用此代码进行了测试。 将图像文件转换为字节数组:

 Image img = Image.FromFile(@"E:\1681010.png");
            byte[] arr;
            using (MemoryStream ms = new MemoryStream())
            {
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                arr = ms.ToArray();
            }
            File.WriteAllBytes(@"E:\test.txt", arr);

然后,读取文件并转换为图像:

 byte[] pic = File.ReadAllBytes(@"E:\test.txt");
                MemoryStream buf = new MemoryStream(pic);
                Image image = Image.FromStream(buf, true);
                image.Save(@"E:\t.jpg");
                pictureBox1.ImageLocation = @"E:\t.jpg";

0 个答案:

没有答案