JAVA娱乐小项目——将图片转化为字符画

简介: JAVA娱乐小项目——将图片转化为字符画

前言

灵感来源于JAVA课上同学の颜文字表情,于是决定做一个JAVA小项目来娱乐玩一下QAQ

代码

1. package test;
2. import javax.imageio.ImageIO;
3. import java.awt.*;
4. import java.awt.image.BufferedImage;
5. import java.io.File;
6. import java.io.IOException;
7. 
8. public class image_text {
9. public static void main(String[] args) {
10. // 读取图片文件
11. File imageFile = new File("path/to/your/image.jpg");
12. try {
13. // 将图片转换为BufferedImage对象
14. BufferedImage bufferedImage = ImageIO.read(imageFile);
15. 
16. // 设置字符画的宽度和高度
17. int asciiWidth = 80;
18. int asciiHeight = 40;
19. 
20. // 缩放图片以适应字符画的宽度和高度
21. BufferedImage resizedImage = new BufferedImage(asciiWidth, asciiHeight, BufferedImage.TYPE_INT_RGB);
22. Graphics2D g2d = resizedImage.createGraphics();
23.             g2d.drawImage(bufferedImage, 0, 0, asciiWidth, asciiHeight, null);
24.             g2d.dispose();
25. 
26. // 将图片转换为字符画
27. char[] asciiChars = {'@', '#', 'S', '%', '?', '*', '+', ';', ':', ',', '.'};
28. StringBuilder asciiArt = new StringBuilder();
29. for (int y = 0; y < asciiHeight; y++) {
30. for (int x = 0; x < asciiWidth; x++) {
31. Color pixelColor = new Color(resizedImage.getRGB(x, y));
32. int grayValue = (pixelColor.getRed() + pixelColor.getGreen() + pixelColor.getBlue()) / 3;
33. int index = Math.min((int) (grayValue * asciiChars.length / 255.0), asciiChars.length - 1);
34.                     asciiArt.append(asciiChars[index]);
35.                 }
36.                 asciiArt.append("\n");
37.             }
38. 
39. // 输出字符画
40.             System.out.println(asciiArt.toString());
41.         } catch (IOException e) {
42.             e.printStackTrace();
43.         }
44.     }
45. }

效果演示

 

1. ,,,,,,,,,,,,:...................................................................
2. ,,,,,,,,,,,,,,,,................................................................
3. ,,,,,,,,,,,,,,,,,,,.............................................................
4. ,,,,,,,,,,,,,,,,,,,,,,...........@@@,...@%......................................
5. ,,,,,,,,,,,,,,,,,,,,,,,,,.......,@+++;@@@;@,;@@@@@@;............................
6. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,......;@@?;;:;@@;;;;;;;;%@@@@.......................
7. ,,,,,,,,,,,,,,,,,,,,,,,,@@@@@*+;;*@@@@@#;;;:.;;;;...;;;;+@@.....................
8. ,,,,,,,,,,,,,,,,,,,,,@@@;;;;;;;;;;;;;;;;;;....:;..;;;%;;;;S@@...................
9. ,,,,,,,,,,,,,,,,,,,@@%;..,+%SSSS*::;;;;;#;+*#@***;:;;;;%%;;;S@@.................
10. ,,,,,,,,,,,,,,,,,@@:..+%SS*,.,;;;..;;;+@**@%???@@**;;;..;%%?;;@@S...............
11. ,,,,,,,,,,,,,,,@@*;;SS?*;..;;;;..;?;+*@*S?S@@S??%@%**;;;..;%S+;;@@:.............
12. .,,,,,,,,,,,,@@?;;*?;;;;,;;;;;..*%;;*@@#+++++++@@@@@**;;;;.,%S%;;*@@............
13. ...,,,,,,,,@@#;;;;;;+;;;;?%;;..;%%;**@+++++++++++++@@**;*@;..;S%;.;@@S..........
14. ......,,,,@@;*;;;;.?+;;;S%;;,..;%%;*@@++++::::::::++@@**;*S@;.:SS;.;*@@.........
15. .........@@;*;;S;.??;;;%%+;;;;*;%%;*@@+++;:::::::::++@@**;**@;;*?*;,;*@@........
16. ........@@;*?;?S,.@*;;;%%;;,.;**;;;*@@+++::::::::::++@@@?*;*%@;.:**;.;*@#.......
17. .......*@;;@*;S%.,@*;;+%%;;+:;**;;;*S@@@@@@;::::::@@@;::?@@@%@@,+*@*;.*@@.......
18. .........@@@?;%%;,@*;;;%%;;*;;*@?;;**@%::..@@@::@@........:;@@@+;*@@*;*@@.......
19. ...........@*;*%;%@*;;;%%;;*S;**@@@#@@@;.....S@@@.......?@@@#;@@+**@#+*@#.......
20. ...........@#+;%%%@**;;;;;;**@%@@@;*+;;;@@@@@.@@@.......@@@@@.:@@@@@@**@........
21. ...........@@*;;;*@**;;;;;;**@@@:......#@@@@@.*@@.......*@@@#.@@*@@.............
22. ...........,@*;;;*@S**;;;;;+?@@@........?@@@..@@@@...........S@:+@@.............
23. ............@@@@@?@@@@@@@@@@%+@@@............@@::S@@.......%@@::+#@%............
24. ..............:@@+++????????***:@@@;......+@@@@S?*S@@@@@@@@:+????#@S............
25. ...............@@;::?????*****?::::+@@@@@@%;;;;;;;;;;;+@@::??????@@,............
26. ...............@@@::???????**??:::::::;@@;;;;;;;;;;;;;;@@:???????@@.............
27. ................@@@::?????????::::::::@@@@@@@@@@@@@@@@*@*:??????@@,,............
28. .................?@@::::;;;;::::::::::::@@@;;;;;;;;;@@@::::???@@@,,,,,..........
29. ...................@@@**@@@@#;;;;;;;;::::::@@@@@@@#::::::::+@@@,,,,,,,,,,.......
30. .....................?@@S%%%%@@@@@@@;;;;;;;;;::::::::::?@@@@*,,,,,,,,,,,,,,,....
31. ....................;@@#%%%%%%%S%%%%%S@@@@@@*;;;;;;%@@@@@@@,,,,,,,,,,,,,,,,,,,,.
32. ...................,@@@@@@%%%%???????%%%%%%%%%%%%%%%%%%%%?@@,,,,,,,,,,,,,,,,,,,,
33. ...................@.;;;S@@S@@@@S%??????????????????%@@@@@@+,,,,,,,,,,,,,,,,,,,,
34. ..................S@....;;@@@@%SSS##@@@@@@@@@@@@@@@@@@:@@%S@@,,,,,,,,,,,,,,,,,,,
35. ..................@S@@#..;#@%@@::@%????????????@:+@@;.@@%%SSS@*,,,,,,,,,,,,,,,,,
36. .................@S%%SS@,.;@@%%%?%@@?:%@#S#S.,*@%%@@.:@%%%%%SS@@..,,,,,,,,,,,,,,
37. ................@S%%%%%%@,.@@%%?????????#:.#@???%%@,.@#%%%%%%SS@@....,,,,,,,,,,,
38. ................#S%%%%%%%@.S@@%%?????????:@????%%@@.:@%%%%%%%%SS@?......,,,,,,,,
39. ...............#SS%%%%%%%@:;@@%%???????@:,:::??%%@@.:@%%%%%%%%%SS@........,,,,,,
40. ...............@S%%%%%%%%S@.@@%%??????%,.::..%?%%@@,:@%%%%%%%%%SS@?..........,,,

 

1. ::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2. :::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3. :::::::::::::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4. ::::::::::::::::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5. :::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6. :::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
7. ::::::::::::::::::::::::::::::.,,,,,,,,,,,,,,,,,@@@@@@@@@@,,,,,,,,,,,,,,,,,,,,,,
8. ::::::::::::::::::::::::::::::,,,,,,@@@@@@@,,,@@@*;;;;;;*@@@@S,,,,,,,,,,,,,,,,,,
9. :::::::::::::::::::::::::::::::@@@@@@;;;;+@@@@@;;..:,:::,..;;@@@@,,,,,,,,,,,,,,,
10. :::::::::::::::::::::::::::S@@@@+;;;;;;.....;.,:..::::::::::;;*+@@@?,,,,,,,,,,,,
11. ::::::::::::::::::::::::#@@@%++;;+++*+:::,..:@@;.;@@@;;;:,,::::;;+S@@@,,,,,,,,,,
12. :::::::::::::::::::::;@@@**.,+*++:::,:,:::;;@@*+@@@*@@@@;;;;:::,.;;+*@@@,,,,,,,,
13. :::::::::::::::::::@@@@+;.:*++::.::;;;;::;;@@?@@@@@@@@@@@@*;;.,:::.;;+*@@@.,,,,,
14. :::::::::::::::::@@@%+.,;++*:::.:**;;:,::;;@@@@@%+**+****@@S+;.@@?:,.;;**@@.,,,,
15. ,::::::::::::::S@@%*.;;;:+,,,:.;*+;;:,*+;;@@#***+:::::+***@@@+;;@@@:,.;;++@@*,,,
16. ,,,:::::::::::@@@*,,;;.:?@@;;.:+*;;;::++;;@@;++:::::::::*+*@@#+;;?@@::.;;+*@@,,,
17. ,,,,,,:::::::@@+;.;;;.,:@@;;,:++;;;.,:*;;;@@S%#@@@#:::::::#@@@*.;;+@@::.;;*+@@,,
18. ,,,,,,,,,::+@@*;,;;*:.:@@;;:.**;;;.::+*;;;@@;;....S@@:::@@@;@@#+.;;*@@::,;;+@@@,
19. ,,,,,,,,,,,@@+;@@#++.,,@@*;.,**;;:,:,;;;;+@@;;......@@%@@..;*@@@@@@+*@@:::;;;@@,
20. ,,,,,,,,,,S@@;:@@;++.:;@@*;.;*;;;.::;@@;;;@@;...@@@@.@@@....;;;;@@@@@@@@;;+;;@@,
21. ,,,,,,,,,,,,@@@@@;*+.:%@@+;.**;;@@,;;*@@@@@@;..@@@@@:@@@.......@@@@@;?@@*;+*;@@,
22. ,,,,,,,,,,,,,,:@@;++::S@@+;:++;#@@#@@@@;;S@@;;..#@@..@@@........@@@.;@@@@@+*@@,,
23. ,,,,,,,,,,,,,,+@@;++;;+@@*;::;;@@@@**+@@@..;;;......@@+@@,.........@@@***@@@@,,,
24. ,,,,,,,,,,,,,,,@@*@@@@@@@*;;;;;#@@%%*:::@@@,.....+@@@@@@@@@@....?@@@:????#@?,,,,
25. ,,,,,,,,,,,,,,,S@@S@@**@@@@@@@@@@@%%?:::::,@@@@@@@*+;;;;;+;#@@@@;::;??????@@,,,,
26. ,,,,,,,,,,,,,,@@@@@@@;;%%%%%%%%%%%???;::::::::@@;;;;;;;;;;;;;%@%:::???????@@,,,,
27. ,,,,,,,,@@@@@#***??@@;;*?????????????:::::::::@@;++;+;;;+;++@@@@::;??????S@@,,,,
28. ,,,,,@@@S*********??@@;;?????????????:;;;;;;::@@@@@@@@@@@@@#;@@::::?????*@@,,,,,
29. ,,,@@@**@@@@@@@@@@@@@@@;;+?????????;;;;;;;;;;;;;@@@;;;;;;;;@@@:::::;????@@,,,,,,
30. ,:@@****************??@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@@@@S;;;:::::::?@@@::,,,,,
31. +@@@@@@?************?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;@@@@@@@:::::,,
32. @@*****@@@@@@#******?@@@@@@@###########################@@@@@@@@@@######@@@@@::::
33. @*************#@@@@@?@@@#####################@@@@@@@@@@##########@@@@@@@@@@:::::
34. @*******************@@@@@@@@@##########@@@@@@@@@@@@@@@@@@@@@@@########@@@@::::::
35. @*******************?@:::,,,,,,:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,,,,,@::::::
36. @@@@@@@@@@%*********?@@@@@@@;:;,,,?@####@@@@@@@@@@@@@@@@@@@@@@@@#,,:::@@@@::::::
37. @*********#@@@@****???@@###@@@@%:,,@@;:::;S############;:::;?#@,,:;@@@@#@@#:::::
38. @@************#@@#*??#@#######@@@;,,@#########*::;;@@@#######@,,:@@@#####@@#::::
39. ,@@**************@@@?@@########@@:,,@##########;::;;@########@,,;@@#######@@*:::
40. ,,@@***************@@@@########@@:,,@##########,,,,.;########@,,:@@########@@:::
相关文章
|
8月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
727 1
|
9月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
2747 1
|
8月前
|
IDE 安全 Java
Lombok 在企业级 Java 项目中的隐性成本:便利背后的取舍之道
Lombok虽能简化Java代码,但其“魔法”特性易破坏封装、影响可维护性,隐藏调试难题,且与JPA等框架存在兼容风险。企业级项目应优先考虑IDE生成、Java Records或MapStruct等更透明、稳健的替代方案,平衡开发效率与系统长期稳定性。
489 115
|
11月前
|
前端开发 JavaScript Java
Java 学习路线规划及项目案例中的技术栈应用解析
内容包括:**Java 17核心特性**(如sealed class、record)与模块化开发;Spring Boot 3 + Spring Cloud微服务架构,涉及响应式编程(WebFlux)、多数据库持久化(JPA、R2DBC、MongoDB);云原生技术**如Docker、Kubernetes及CI/CD流程;性能优化(GraalVM Native Image、JVM调优);以及前后端分离开发(Vue 3、Spring Boot集成)。通过全栈电商平台项目实战,掌握从后端服务(用户、商品、订单)到前端应用(Vue 3、React Native)的全流程开发。
481 9
|
9月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
957 64
|
8月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
11月前
|
Java 数据安全/隐私保护 计算机视觉
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本内容提供Java生成自定义图片的示例代码,涵盖基础图像创建、文本添加及保存功能,适合学习2D图形编程。包括教学示例图片生成、文本图层处理和数字水印技术实现方案。
|
12月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1927 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
10月前
|
安全 Java 测试技术
Java 大学期末实操项目在线图书管理系统开发实例及关键技术解析实操项目
本项目基于Spring Boot 3.0与Java 17,实现在线图书管理系统,涵盖CRUD操作、RESTful API、安全认证及单元测试,助力学生掌握现代Java开发核心技能。
500 0