将图片转换为HTML的神奇方法
Peter Bromberg 提供一种方法将图片文件转换为HTML, 非常神奇。阅读原文。下面是他提供的源码
using System;
using System.Text;
using System.IO;
using System.Web;
using System.Net;
using System.Drawing ;
namespace PAB.Web.Utils
{ 
public class Image2Html
{
private Image2Html()
{ 
}

public static string ConvertImage( string imageUrl, int scale)
{
WebClient wc = new WebClient();
byte[] img = wc.DownloadData(imageUrl);
if(img.Length >100000) return "<H1><font color=white>Sorry,Image too big for demo!</font></h1>";
MemoryStream imgStream = new MemoryStream(img);
Bitmap b = (Bitmap)Image.FromStream(imgStream);
MemoryStream ms = new MemoryStream();
StreamWriter SW = new StreamWriter(ms);
SW.WriteLine("<!--%<---Clip Here-->");
SW.WriteLine("<style>pre{letter-spacing:-4px;word-spacing:-4px;line-height:2px}</style>"); 
SW.WriteLine("<pre><b><font size='1pt'>"); 
for(int y=0;y<b.Height;y+=scale) 
{ 
for(int x=0;x<b.Width;x+=scale) 
{ 
SW.Write("<font color='#" + b.GetPixel(x,y).Name.Substring(2) + "'>"); 
SW.Write( ((byte)b.GetPixel(x,y).ToArgb())>>7 ); 
SW.Write("</font>"); 
} 
SW.WriteLine(); 
} 

SW.WriteLine("</font></b></pre>"); 
SW.WriteLine("<!--%<---Clip Here-->");
SW.Close(); 
SW = null; 
byte[] b2= ms.ToArray ();
string s = System.Text.Encoding.ASCII.GetString(b2);
return s;
}
}
}


浙公网安备 33010602011771号