Cool!!将图片转换为HTML图片
嘿嘿,就是将图片转换为HTML代码(DIV点阵),也就是将图片的每个象素点都用DIV来实现,这样一张HTML图片就出来了:)
为了避免IE暂停响应,转换的图片不要太大.要不然转换出来也不敢看!比如我们将验证码图片输出为HTML代码,这样要破解的话就让对方去还原这副图片吧:)
大家看看下面这张图(嘿嘿,不是图片来的,注意别用鼠标拖动选择,要不然我怕你的浏览器会暂停响应!)的效果:
代码很少很简单,就只有两个函数,如下:
public static void CovertImageToHtml(string imageFile, string fileName)
{
using (Bitmap image = new Bitmap(imageFile))
{
CovertImageToHtml(image, fileName);
}
}
public static void CovertImageToHtml(Bitmap image, string fileName)
{
using (StreamWriter writer = new StreamWriter(fileName, false, Encoding.Default, 1024))
{
//定义CSS样式
writer.WriteLine("<style>");
writer.WriteLine("#htmlpic{{width:{0}px;height:{1}px;}}", image.Width, image.Height);
writer.WriteLine("#htmlpic div{float:left;height:1px;overflow:hidden;}");
writer.WriteLine("</style>");

//输出图片数据
writer.WriteLine("<div id=\"htmlpic\">");
for (int h = 0; h < image.Height; h++)
{
Color preColor = image.GetPixel(0, h); //获取第一点的颜色值
int count = 1;
for (int w = 1; w < image.Width; w++)
{
Color nowColor = image.GetPixel(w, h);
if (preColor == nowColor)
{
count++;
}
else
{
writer.WriteLine("<div style=\"background:{0};width:{1}px\"></div>", ColorTranslator.ToHtml(preColor), count);
count = 1;
preColor = nowColor;
}
}
//写入最后的数据
writer.WriteLine("<div style=\"background:{0};width:{1}px\"></div>", ColorTranslator.ToHtml(preColor), count);
writer.WriteLine();
}
writer.WriteLine("</div>");
}
}
为了避免IE暂停响应,转换的图片不要太大.要不然转换出来也不敢看!比如我们将验证码图片输出为HTML代码,这样要破解的话就让对方去还原这副图片吧:)
大家看看下面这张图(嘿嘿,不是图片来的,注意别用鼠标拖动选择,要不然我怕你的浏览器会暂停响应!)的效果:
代码很少很简单,就只有两个函数,如下:












































【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义