最近看到抖音上面很多人用文本文档字符打出一幅图片,个人表示不信,因为几万个字符几个小时码出来,这不是一般人干的事情。所以心血来潮写了个小程序干这个事。

首先准备知识基本原理

1.图片转黑白像素

2.读取像素点找到对应的字符

3.输出字符

1转成黑白图片

            Bitmap bitMap = new Bitmap(path);for (int i = 0; i < bitMap.Width; i++){for (int j = 0; j < bitMap.Height; j++){Color origalColor = bitMap.GetPixel(i, j);int grayScale = (int)(origalColor.R * .3 + origalColor.G * .59 + origalColor.B * .11);Color newColor = Color.FromArgb(grayScale, grayScale, grayScale);bitMap.SetPixel(i, j, newColor);}}

这个里面很简单,至于为什么RGB是乘以这个权重,真不知道,可能要问一下学物理的大牛了。

2.第二步找到对应的字符

我们先定义字符集

string chars = "#8XOHLTI)i=+;:,. ";

这里的字符集可以是任意的,总体来讲就是保持一定顺序,先密密麻麻后稀稀疏疏 还是先稀稀疏疏后密密麻麻都可以,只不过是底色的差异。

好了,然后我们根据像素点rgb找到对应数组的index

 for (int i = 0; i < bitMap.Width; i+=2){for (int j = 0; j < bitMap.Height; j++){Color origalColor = bitMap.GetPixel(i, j);int index = (int)((origalColor.R + origalColor.G + origalColor.B) / 768.0 * chars.Length);bmpstr += chars[index];}bmpstr += "\r";}

这里为什么是i+=2呢? 因为我们字符都是国字脸,  长!!!!所以 保证比例 我们跳行取像素点吧。

3.输出到文本文件,  大功告成。

原来抖音几个小时的事情,对万能的程序员只要几分钟   (꒦_꒦)

最后莉哥的效果。

C# 将图片转成字符画相关推荐

  1. python动态图片转字符画_使用python实现一个将图片转换成字符画的功能

    使用python实现一个将图片转换成字符画的功能 发布时间:2020-11-05 16:01:25 来源:亿速云 阅读:97 使用python实现一个将图片转换成字符画的功能?针对这个问题,这篇文章详 ...

  2. canvas全局合成画月牙_教你用Python将自己喜欢的图片转成字符画,居然还有动态的 - 松鼠爱吃饼干...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章一级Python技术 ,作者派森酱 前言 字符画是一种由字母,标点或其他字 ...

  3. 实现图片转换成字符画

    python小程序:实现图片转换成字符画 看到网上有很多这样的小程序,自己动手做一个 内附详细说明~ 先附上效果图 部分解释 运行平台: Win10 Python版本: Python3.9  IDE: ...

  4. c语言将一幅画转换为字符画,C#将图片转换成字符画

    先看一下效果图 在Main方法中调用(首先要添加程序集System.Drawing,然后引入命名空间System.Drawing) ConvertToChar(new Bitmap(@"D: ...

  5. 用Python把图片转成字符画

    刚学会上网的时候,看到上面的图觉的老神奇了.普通的英文字母居然可以画画.自己画是肯定看不出的.然而幼稚的我们被骗了 原图是这样的 通过下面的代码生成了字符画,什么原理呢? 我们知道显示器是由一个个像素 ...

  6. python PIL库将图片转换成字符画

    将图片转换成文本文件查看形式 准备 源码 原始图像 生成文本文件后显示的结果 注意事项 准备 语言:python 环境:PIL库,准备好图片素材 源码 from PIL import Image as ...

  7. 如何将图片转换成字符画

    思路: 1.将图片转换为黑白图 2.遍历所有像素点,建立像素点和字符的映射,保存为一个字符串 3.将字符串输出到文件里面就可以了 代码如下 from PIL import Image def getT ...

  8. python 一百行代码将图片转成字符画

    该代码引用了PIL库的Image,所以必须先安装PIP,再安装PIL,记住,我的64位系统居然是选WIN32 结尾的那个whl文件,然后才安装成功. 下面贴代码: from PIL import Im ...

  9. python动态图片转字符画_GIF动态图,视频?都能用Python转换成字符画图像

    字符画是一种由字母.标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画. 静态图片 首先,我们来演示将静态图片转为字符画,功能实现主要用到 ...

  10. canvas全局合成画月牙_GIF动态图,视频?都能用Python转换成字符画图像

    字符画是一种由字母.标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画. 静态图片 首先,我们来演示将静态图片转为字符画,功能实现主要用到 ...

最新文章

  1. Android Handler sendMessage和 sendMessageDelayed的使用
  2. F5与NetScaler比较
  3. SQL查找是否存在,别再count了,很耗费时间的
  4. 为什么delete表数据,磁盘空间却还是被占用
  5. hdu 5624 KK's Reconstruction(最小生成树)
  6. java jpanel 缓冲画图_Java:Jpanel 缓冲区 图像
  7. java手动提交事务_Mybatis是如何将事务和连接池高效的结合的
  8. python中开关_pyq中的开关按钮
  9. 学微信,抖音也上线PC版
  10. netfilter与用户空间通信
  11. 手持设备点击响应速度,鼠标事件与touch事件的那些事
  12. vsftp服务器mysql认证_基于mysql控制vsftp的用户认证机制
  13. 【ProjectT】Tapestry • Quick Start • Forms
  14. 微信小程序云开发教程-JavaScript入门(2)-变量定义
  15. jdbc连接池的数量设置怎么才合适?
  16. 你是一名技术管理者还是项目管理者?
  17. MVC3.0+knockout.js+Ajax 实现简单的增删改查
  18. dropbox访问_使用PHP访问Dropbox
  19. 浙江省乡村快递寄件数据分析-快递100百递指数
  20. 点云法线估计:C++实现

热门文章

  1. AI芯片发展的前世今生
  2. android re浏览器下载,re浏览器官方版下载_re浏览器app下载4.9.6 - 系统城
  3. javaWeb随机生成网页验证码图片
  4. 3亿流量还能让Keep错几次?
  5. java怎么打hello,java hello word怎么打
  6. 读 Irving M. Copi 之《逻辑学导论》
  7. netapp存储设备更换硬盘
  8. 入学人数突破1000人! 阿里云大学云学院,开启创新育才实践之路!
  9. 2022年中科院信工所考研杂记
  10. flash 独立播放器