C # Преобразование файла изображения в hex и hex в изображение - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь отправить изображение из Arduino с радиомодулем и получить в моем c# настольном приложении. Во-первых, я конвертирую любое снятое изображение в гекс, а затем отправляю его с помощью радиомодуля. Следующим шагом я сохраню hex в файл img.txt. Наконец, я хочу преобразовать гекс в файл изображения и показать преобразованное изображение в PictureBox. Какой способ или код я бы использовал?

  1. Я преобразовал гекс (который был отправлен с радиомодулем) в изображение на веб-сайте, который работал.
  2. Есть ли другой способ? (например: байт, массив int или что-либо еще)

Я нашел эти коды, но это не сработало

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";
...