using System.IO;
using System.Drawing;
親愛的朋友們,你們想知道圖片轉(zhuǎn)換成文本內(nèi)容后會是什么樣子的嗎?有可能我說文本內(nèi)容有人會聽不懂,如果我說想圖片轉(zhuǎn)換成和小說差不多的文字,你就應(yīng)該是非常的明白啦。還等待什么啊,試試吧。
最近自己一直在思考一個問題圖片與文本內(nèi)容是否可以相互轉(zhuǎn)換呢?經(jīng)過自己一番的上網(wǎng)查詢與自己的親自實踐,終于制作成功啦。如有有想試試這個效果的朋友,可以到新浪愛問里才能下載我已經(jīng)上傳到網(wǎng)絡(luò)的小程序。打開就可以用啦。
這是自己使用C#編寫的小程序。所以需要微軟的Framework的支持的,如果你的電腦沒有安裝的話可能就無法正常的使用啦。
//別忘記導(dǎo)入上面的兩個命名空間
/// <summary>
/// 把圖片轉(zhuǎn)換到文本信息
/// </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]; //聲明字節(jié)數(shù)組
MemoryStream s = new MemoryStream(by); //內(nèi)存中聲明一個流
s.Read(by, 0, (int)s.Length);//把圖片讀到字節(jié)數(shù)組中
s.Close();
string str = Convert.ToBase64String(by);//把字節(jié)數(shù)組轉(zhuǎn)換成字符串
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);//把字符串讀到字節(jié)數(shù)組中
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;
}