Я пытаюсь отправить изображение из Arduino с радиомодулем и получить в моем c#
настольном приложении.
Во-первых, я конвертирую любое снятое изображение в гекс, а затем отправляю его с помощью радиомодуля. Следующим шагом я сохраню hex в файл img.txt.
Наконец, я хочу преобразовать гекс в файл изображения и показать преобразованное изображение в PictureBox. Какой способ или код я бы использовал?
- Я преобразовал гекс (который был отправлен с радиомодулем) в изображение на веб-сайте, который работал.
- Есть ли другой способ? (например: байт, массив 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";