C#将图片转换为ASCii字符是一款将图片转为ASCII字符画工具,看别人发出来好玩的图片上有这样的代码照片图,就在网上查了下源码,居然有C#的,写了个小程序。转出来的效果,个人感觉挺像的。
使用说明
长宽是设定 要替换成字符的像素块大小 越小 越精细。
输出的是文本文件,保存路径为D:\test.txt,开txt文件 如太大 把 txt字体设置成最小 就可以看到效果了。

代码说明
private void button1_Click(object sender, EventArgs e)
{
string str = null;
//上传照片
OpenFileDialog op = new OpenFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
var image = File.ReadAllBytes(op.FileName);
MemoryStream ms1 = new MemoryStream(image);
Bitmap bm = (Bitmap)Image.FromStream(ms1);
str = Generate.GenerateStr(bm, int.Parse(comboBox2.Text),
int.Parse(comboBox1.Text), int.Parse(comboBox3.Text));
}
this.btnSave_Click(str);
textBox1.Text = "已生成,文件位置D:\\test.txt";
}
private void btnSave_Click(string s)
{
StreamWriter sw = File.AppendText(@"D:\\test.txt"); //保存到指定路径
sw.Write(s);
sw.Flush();
sw.Close();
}
/// <summary>
/// 生成string
/// </summary>
/// <param name="bitmap">照片</param>
/// <param name="rowSize">行大小</param>
/// <param name="colSize">列大小</param>
/// <param name="type">模式</param>
/// <returns></returns>
public static string GenerateStr(Bitmap bitmap, int rowSize, int colSize, int type)
{
StringBuilder result = new StringBuilder();
char[] charset = { ' ', '.', ',', ':', ';', 'i', '1', 'r', 's', '5', '3', 'A', 'H', '9', '8', '&', '@', '#' };
if (type == 1)
{
charset = new char[] { ' ', '.', '1', '2', '0', '7', '5', '3', '4', '6', '9', '8' };
}
else if (type == 2)
{
charset = new char[] { '丶', '卜', '乙', '日', '瓦', '車', '馬', '龠', '齱', '龖' };
}
int bitmapH = bitmap.Height;
int bitmapW = bitmap.Width;
for (int h = 0; h < bitmapH / rowSize; h++)
{
int offsetY = h * rowSize;
for (int w = 0; w < bitmapW / colSize; w++)
{
int offSetX = w * colSize;
float averBright = 0;
for (int j = 0; j < rowSize; j++)
{
for (int i = 0; i < colSize; i++)
{
try
{
Color color = bitmap.GetPixel(offSetX + 1, offsetY + j);
averBright += color.GetBrightness();
}
catch (ArgumentOutOfRangeException)
{
averBright += 0;
}
}
}
averBright /= (rowSize * colSize);
int index = (int)(averBright * charset.Length);
if (index == charset.Length)
index--;
result.Append(charset[charset.Length - 1 - index]);
}
result.Append("\r\n");
}
return result.ToString(); }























大小: 13.4M




图片转换器V4.9 官方免费版
一寸二寸照片生成器免费版
照片大小批量处理工具(Photo Resize Magic)V1.1 西西绿色中文版
视频转GIF转换器(Video to GIF)V2.0.2 绿色单文件版
提取图片里的文字(miniocr)v1.0汉化版
Image2Lcd(图片转换LCD)V3.0 绿色免费版
PNG图片压缩工具(PNGGauntlet)3.1.2 绿色中文版
DWG转换PDF文档4.7.8 绿色免安装版
BMP转JPG批量转换器
solidworks标准件库
二寸照片生成器免费版
BMP转换ICO工具(IconMaster)v3.0 绿色版
Corel照片转绘画软件 (Corel Paint it)v1.0.0.127官方安装版含注册机
Alpha Image ConvertorV1.0简体中文版
Binerus Icon CommanderV1.40绿色英文特别版