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