前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【开源项目】将图片转换为字符画

【开源项目】将图片转换为字符画

作者头像
xiaoxi666
发布于 2018-10-29 09:17:50
发布于 2018-10-29 09:17:50
1.7K0
举报
文章被收录于专栏:xiaoxi666的专栏xiaoxi666的专栏

原理

  • 选定填充图片的ASCII字符,不同的字符对应于不同的灰度
  • 读取图片并计算各像素灰度值(同时考虑透明背景),用相应的的ASCII字符替换该像素

程序功能

  • 支持3种文件选择方式:选定文件(支持图片预览),添加文件夹,拖入文件
  • 支持5种图片格式:.jpg, .jpeg, .gif, .png,.bmp
  • 支持5挡不同的缩放比例:10%,20%,25%,50%,以及不缩放,默认为不缩放
  • 转换结果以文件名“原文件名+.txt”保存至新建文件夹,新建文件夹的命名方式为“字符画转换结果+当前时间”,其中当前时间的格式为“年_月_日_时_分_秒”

建议:

  • 转换后的txt文件最好用notepad++等类似软件打开,这类软件不会将内容换行,同时支持缩放
  • 图片宽和高最好控制在1000px以内,太大的话,出来的图太过精细,不方便查看。这时可利用缩放功能。

可视化界面

  • 为方便操作,特意包装成可视化界面,并加入“保持窗口最前”选项,方便文件拖入
  • 注意:如果所选文件格式不正确,“开始转换”按钮不可用
  • 程序已打包为exe文件64位版本,可以直接使用

源码、exe文件 以及 软件截图、效果图

请移步Github仓库:https://github.com/xiaoxi666/Img2AsciiVision

  • source文件夹:源码及其资源文件
  • ExecuteFileAndPackageTools文件夹:可执行文件Img2Ascii.exe及其打包工具
  • Demos文件夹: 软件截图和效果图

软件截图和效果图

软件截图:

原图:

转换为Ascii后的字符画:

局部放大图(可以看到Ascii码字符):

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Spring,hibernate,struts的面试笔试题及答案
Hibernate工作原理及为什么要用? 原理: 读取并解析配置文件 读取并解析映射信息,创建SessionFactory 打开Sesssion 创建事务Transation 持久化操作 提交事务 关闭Session 关闭SesstionFactory 为什么要用: 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很
WindWant
2020/09/11
7660
JavaWeb(2)
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.
一朵灼灼华
2022/08/05
6380
Java面试分享(题目+答案)
1.说下Struts的设计模式 MVC模式: web应用程序启动时 就会加载并初始化ActionServler。 用户提交表单时, 一个配置好的ActionForm对象被创建, 并被填入表单相应的数据, ActionServler根据Struts-config.xml文件 配置好的设置决定是否需要表单验证, 如果需要就调用ActionForm的Validate() 验证后选择将请求发送到哪个Action, 如果Action不存在, ActionServlet会先创建这个对象, 然后调用Action的exe
Java高级架构
2018/12/18
1.3K0
[ Java面试题 ]框架篇二
1.Hibernate工作原理及为什么要使用Hibernate? 工作原理:     1.读取并解析配置文件     2.读取并解析映射信息,创建SessionFactory     3.打开Session     4.创建事务Transation     5.持久化操作     6.提交事务     7.关闭Session     8.关闭SesstionFactory 为什么要使用Hibernate(即它的优点):     1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
Kevin_Zhang
2018/07/05
5800
[ Java面试题 ] 框架篇
  1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件将各个请求分别分配给不同的action去处理。
Kevin_Zhang
2018/09/20
7590
struts、hibernate、spring、 mybatis、 spring boot 等面试题汇总
1. struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。
张哥编程
2024/12/17
1220
进阶spring/Hibernate*框架精选面试题
,今天给大家带来的是一些Java框架的面试题,这些面试题涵盖Hibernate框架,spring框架等,建议收藏
框架师
2019/09/19
6570
进阶spring/Hibernate*框架精选面试题
SSH框架总结
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。
哲洛不闹
2018/09/19
1K0
SSH框架总结
SSH到底是什么?(彻底搞懂SSH,SSM)
什么是SSH? SSH在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate。 Struts对Model,View和Controller都提供了对应的组件。 Sp
葆宁
2019/04/19
2.4K0
SSH到底是什么?(彻底搞懂SSH,SSM)
SSH框架(三) 常用WEB框架Struts1、Struts2和Spring MVC三者的区别
SSH框架(三) 常用WEB框架Struts1、Struts2和Spring MVC三者的区别
Java架构师必看
2021/05/27
1.1K0
struts2和struts1认识
Struts 2框架本身可以大致分3部分:核心控制器FilterDispatcher、业务总监Action与用户实现企业业务逻辑组件。
全栈程序员站长
2022/07/06
6180
java三大框架介绍
常听人提起三大框架,关于三大框架,做了如下了解: 三大框架:Struts+Hibernate+Spring java三大框架主要用来做WEN应用。 Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作) Hibernate主要是数据持久化到数据库 再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当你在浏览器上输入URL得知的时候,文件就会根据你写的名称对应到一个JAVA文件
程序员互动联盟
2018/03/16
9460
【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)
Long Long ago,就听说过SSH,起初还以为是一个东东,具体内容更是不详,总觉得高端大气上档次,经过学习之后才发现,不仅仅是高大上,更是低调奢华有内涵,经过一段时间的研究和学习SSH框架的基本原理与思想,总算接地气了。作为初学者,有点小小收获,想通过以博文的形式和大家一起分享,共同进步,在更新博文的过程中难免有认识不足的地方,还请各位大牛提出宝贵的建议,对于好的建议一定虚心接受,认真学习。
程序猿小亮
2021/01/29
4590
SSH 学习杂记
Web 开发是一个很有意思的事情。Struts+Spring+Hibernate 作为一种当今流行的开发模式,我很荣幸地在一周左右的时间里,疯狂地边学边琢磨了一番,甚有感触。
四火
2022/07/15
6420
SSH 学习杂记
SSH学习(一)—— 基础概念篇
最近有个小面试需要复习以前用到的SSH框架,忘得差不多了当然当时也差不多就是不会的状态,现在花了三四天的时间进行一个简单的学习,总结一些概念性的东西放在这儿。
全栈程序员站长
2022/09/12
6820
Java面试宝典4.0版
Jdk 是 java 开发人员在开发过程使用的软件开发包,他提供了 java 的开发环境和运行环境 JRE 是 Java Runtime Enviroment 是指 Java 的运行环境
全栈程序员站长
2022/11/05
1.2K0
Java理论知识及面试题
1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
小语雀网
2022/05/06
5600
Java企业面试——SSH框架
SSH框架阶段SSH的优缺点,使用场景? Hibernate优点: (1) 对象/关系数据库映射(ORM) 它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想 (2) 透明持久化(persistent) 带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用
Java帮帮
2018/03/16
1K0
Java企业面试——SSH框架
Spring工作原理
      内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。
Java架构师历程
2018/09/26
2.2K0
Struts 1基础入门
在上一阶段的学习中,我们通过使用MVC模式进行了多个项目的开发。在MVC模式中,JavaBean实现业务逻辑,Servlet实现流程控制,JSP负责数据显示,这样的设计使程序的层次更加清晰,项目分工更加明确,代码耦合度也大大降低。但是在实际应用中,MVC模式也逐渐暴露出了诸多缺陷:开发效率低、结构不一致、难以重用等等。
张哥编程
2024/12/17
1520
Struts 1基础入门
相关推荐
Spring,hibernate,struts的面试笔试题及答案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档