我有一个弹出文件浏览器的表单,选择后应获取所选文件的路径,然后将该图像转换为字符串。我有以下代码:
string sfn = "";
OpenFileDialog ofD = new OpenFileDialog();
if (ofD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
sfn = ofD.FileName;
}
string imagePathway = sfn;
string imageToText = GetImageText(imagePathway);
label1.Text = imageToText;
然后使用GetImageText函数:
private string GetImageText(string path)
{
byte[] imageByte = System.IO.File.ReadAllBytes(path);
string convertedString = Convert.ToBase64String(imageByte);
return convertedString;
}
没有错误发生,但是标签没有显示文本,所以我认为编码过程存在问题。
答案 0 :(得分:0)
这个问题不是很清楚,但是如果您要将图像转换为字符串以便发送(例如tpc / ip连接),则可以将图像另存为位图并将其保存在MemoryStream中
Bitmap bmp = new Bitmap(@"Your file path");
MemoryStream mem_stream= new MemoryStream();
bmp.Save(mem_stream, System.Drawing.Imaging.ImageFormat.Bmp);
现在您在MemoryStream中具有图像了,您可以按字节或字符串访问它。
图像只是像素阵列,因此您可以将它们另存为字符串,甚至可以使用rgb值(例如(r11 * g12 * b13 * r21 * g22 * b23 * ....))保存它们,其中1, 2,3是像素的行/列的索引。
*抱歉,如果我误解了这个问题。