using System.IO;
using System.Drawing;
亲爱的朋友们,你们想知道图片转换成文本内容后会是什么样子的吗?有可能我说文本内容有人会听不懂,如果我说想图片转换成和小说差不多的文字,你就应该是非常的明白啦。还等待什么啊,试试吧。
最近自己一直在思考一个问题图片与文本内容是否可以相互转换呢?经过自己一番的上网查询与自己的亲自实践,终于制作成功啦。如有有想试试这个效果的朋友,可以到新浪爱问里才能下载我已经上传到网络的小程序。打开就可以用啦。
这是自己使用C#编写的小程序。所以需要微软的Framework的支持的,如果你的电脑没有安装的话可能就无法正常的使用啦。
//别忘记导入上面的两个命名空间
/// <summary>
/// 把图片转换到文本信息
/// </summary>
/// <param name="imagePath">图片的路径</param>
/// <param name="savePath">文本存储路径</param>
public void GetImageToString(string imagePath,string savePath)
{
Stream s = File.Open(imagePath, FileMode.Open);
int leng = 0;
if (s.Length < Int32.MaxValue) //防止图片太大了
leng = (int)s.Length;
byte[] by = new byte[leng]; //声明字节数组
MemoryStream s = new MemoryStream(by); //内存中声明一个流
s.Read(by, 0, (int)s.Length);//把图片读到字节数组中
s.Close();
string str = Convert.ToBase64String(by);//把字节数组转换成字符串
StreamWriter sw = File.CreateText(savePath);//存入savePath文件
sw.Write(str);
sw.Close();
sw.Dispose();
}
/// <summary>
/// 把字符串还原成图片
/// </summary>
/// <param name="path"></param>
/// <returns>图片</returns>
public Image GetImageFromString(string stringPath)
{
StreamReader sr = new StreamReader(stringPath);
string s = sr.ReadToEnd();
sr.Close();
byte[] buf = Convert.FromBase64String(s);//把字符串读到字节数组中
MemoryStream ms = new MemoryStream(buf);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save("12.gif", System.Drawing.Imaging.ImageFormat.Gif); //保存成图片
ms.Close();
ms.Dispose();
return img;
}