欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.C#實(shí)現(xiàn)圖片文件與base64string編碼解碼

 更新時(shí)間:2010年03月15日 10:57:41   作者:  
前些天在opera論壇里面當(dāng)了個(gè)flashblocker腳本文件,顧名思義,就是把網(wǎng)頁(yè)中的flash給過濾了,過濾之后呢就會(huì)在原位置顯示一張圖片,以前用firefox時(shí)的flash過濾插件也是這樣,而且顯示的圖片也一樣,一樣的難看,于是就想換換它。
圖片當(dāng)然是存在那個(gè)js文件里面,于是我就打開了flashblocker.js,然后瀏覽一下,找到下面一句:  
var flash = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAA......'
 (小白)<SPAN style="FONT-SIZE: small">這是我第一次認(rèn)識(shí)到base64的用場(chǎng),記得以前保存網(wǎng)頁(yè)的時(shí)候,總習(xí)慣保存為.mht格式,因?yàn)檫@樣會(huì)把網(wǎng)頁(yè)中的圖片也保存下來,但是一直奇怪為何只有一</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small">個(gè).mht文件,打開來卻有圖片,現(xiàn)在知道保存為mht格式時(shí)就把網(wǎng)頁(yè)中的圖片全部轉(zhuǎn)成base64字符串存在里面了。</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small"> </SPAN><SPAN style="FONT-SIZE: small">實(shí)現(xiàn):</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small">  <IMG src="http://pic002.cnblogs.com/img/1971ruru/201003/2010031510340776.jpg"></SPAN>
其實(shí)很簡(jiǎn)單,圖片文件到Base64String的轉(zhuǎn)換,只需要Convert類里面的一個(gè)ToBase64String方法即可
復(fù)制代碼 代碼如下:

Image fromImage = Image.FromFile( txtImg.Text );
MemoryStream stream = new MemoryStream();
fromImage.Save( stream, imgFormat[extension] );
txtString.Text = Convert.ToBase64String( stream.GetBuffer() );

  在這里補(bǔ)充一下,貌似icon文件是不能轉(zhuǎn)換的(自己試驗(yàn)的結(jié)果),需要轉(zhuǎn)icon的話就要變通一下了,曲線救國(guó)~
  從Base64String提取圖片的話,需要Convert.FromBase64String()方法,
復(fù)制代碼 代碼如下:

MemoryStream stream = new MemoryStream( Convert.FromBase64String( txtString.Text ) );
bitmap img = new Bitmap( stream );
img.Save( txtImg.Text );
MessageBox.Show( "Completed!" );

貌似有些同志在轉(zhuǎn)換回來的時(shí)候出現(xiàn)問題,感覺應(yīng)該是定義stream時(shí)出的問題,new的時(shí)候直接把轉(zhuǎn)換的byte[]給它,應(yīng)該就不會(huì)存在“超出預(yù)計(jì)范圍”的錯(cuò)誤。轉(zhuǎn)換出問題應(yīng)該是跟原圖用Java或者其它語(yǔ)言生成的沒有關(guān)系的。因?yàn)閎ase64編碼應(yīng)該是一樣的。
作者:一修先生     
出處:http://1971ruru.cnblogs.com

相關(guān)文章

最新評(píng)論