# ImageToAscillArt
这是一个将图片转换成字符画的小程序。
## 前言
首先说一下什么是字符画,顾名思义即通过字符组合成图片。具体分为两种:
1.通过将图片像素rgb经过公式转换成灰度值,然后由对应灰度值的ascii字符表示该像素,进而组成字符画。
2.通过html语言将提取到的像素rgb对应设置到字符上,然后组成字符画。
## 功能概述:
本程序主要有两个类组成:
**ImgToAsciiArt:**
该类负责将给定的图片转换成对应灰度的ascii字符串或者对应色彩的html字符串,主要提供下面两种方法,分别转换ascii字符串和html串,具体内容详见代码。
QString imgToAscii(QImage &image,QByteArray asciiArray=QByteArray());
QStringList imgToHtml(QImage &image, QString htmlStrSet, bool isOrder,bool isAlpha = false);
**ImgToAsciiWidget:**
该类则主要负责界面,包括参数的设置,图片文件的选择,字符画的生成与保存。
## 运行截图:
![Ascii码字符画1.png](./screenshot/Ascii码字符画1.png "Ascii码字符画1.png")
![Ascii码字符画2.png](./screenshot/Ascii码字符画2.png "Ascii码字符画2.png")
![彩色字符画1.png](./screenshot/彩色字符画1.png "彩色字符画1.png")
![彩色字符画2.png](./screenshot/彩色字符画2.png "彩色字符画2.png")
![彩色字符画3.png](./screenshot/彩色字符画3.png "彩色字符画3.png")
## 小结:
该程序没啥实际用途,纯粹是周末无聊做着玩。
经过实际测试对于一些小分辨率层次分明的ico图片转换的效果还不错,目前程序转换ascii灰度值的字符由内部指定,因为不同字符的灰度有一定的序列,排序越准,字符画效果越好。而html字符画的字符可以由用户指定,但因为不同字体下一些字符的宽度是不同的,所以目前字体选择比较局限,内部使用字符等宽的宋体,可以实现所有的英文字符或者中文字符不论大小写宽度是一致的。但由于中文和英文的宽度是不一致的,所以暂时还不能中英文混合使用。此外由于彩色字符画是通过html文本字符串实现的,相对ascii码串较长,在实际字符画绘制时,会花费较多的时间,图片转换所得html串越长越慢,目前采用一定数量的行绘制一次,解决了长时间程序无响应的问题,但完全绘制完成还是需要一定的时间,暂时还没找到更好的办法。
## 作者联系方式
**邮箱:[email protected]**
**新浪微博:@为-何-而来**
没有合适的资源?快使用搜索试试~ 我知道了~
使用Qt编写的图片转字符画的源代码,基于C++的图片转字符画源代码
共17个文件
png:5个
ico:4个
cpp:3个
需积分: 0 39 下载量 111 浏览量
2023-02-21
16:48:31
上传
评论 2
收藏 296KB ZIP 举报
温馨提示
使用Qt编写的图片转字符画的源代码,基于C++的图片转字符画源代码
资源推荐
资源详情
资源评论
收起资源包目录
imageToAsciiArt-master.zip (17个子文件)
imageToAsciiArt-master
imgtoasciiwidget.h 2KB
image
happy.ico 66KB
QQ.ico 66KB
heart.ico 66KB
cat.ico 66KB
imgtoasciiart.cpp 5KB
screenshot
彩色字符画1.png 107KB
彩色字符画3.png 60KB
彩色字符画2.png 41KB
Ascii码字符画2.png 41KB
Ascii码字符画1.png 39KB
image.qrc 99B
readme.md 3KB
imgtoasciiwidget.cpp 11KB
main.cpp 184B
ImageToAsciiArt.pro 485B
imgtoasciiart.h 711B
共 17 条
- 1
资源评论
云哲-吉吉2021
- 粉丝: 3321
- 资源: 1130
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功