当前位置:   article > 正文

输入汉字,打印汉字图形(java实现)_java代码实现打印汉字实例

java代码实现打印汉字实例

好久没写代码,最近写了一个小demo,可以实现读取输入流中的汉字,用指定的字符打印汉字的图形的功能,欢迎大家批评指正。

  1. package cn.js.js05;
  2. import java.awt.Font;
  3. import java.awt.Shape;
  4. import java.awt.font.FontRenderContext;
  5. import java.awt.font.GlyphVector;
  6. import java.awt.geom.AffineTransform;
  7. import java.util.Scanner;
  8. /**
  9. * 输入中文或者英文字符
  10. * 输出字符阵列
  11. * @author jiangshuai
  12. *
  13. */
  14. public class Test0508 {
  15. public static void main(String[] args) {
  16. try
  17. {
  18. System.out.println("请输入要显示的文字:");
  19. Scanner s=new Scanner(System.in);
  20. String old=s.nextLine();
  21. s.close();
  22. Font font = new Font("黑体", Font.ROMAN_BASELINE, 18);
  23. // Font font = new Font("黑体", Font.ROMAN_BASELINE, 40);
  24. AffineTransform at = new AffineTransform();
  25. FontRenderContext frc = new FontRenderContext(at, true, true);
  26. GlyphVector gv = font.createGlyphVector(frc, old); //要显示的文字(文字的字形)
  27. Shape shape = gv.getOutline(2, 15);
  28. int weith = 1000;
  29. int height = 40;
  30. boolean[][] view = new boolean[weith][height];
  31. for (int i = 0; i < weith; i++)
  32. {
  33. for (int j = 0; j < height; j++)
  34. {
  35. if (shape.contains(i, j))
  36. {
  37. view[i][j] = true;
  38. } else
  39. {
  40. view[i][j] = false;
  41. }
  42. }
  43. }
  44. System.out.println("转换后的字符文字:");
  45. for (int j = 0; j < height; j++)
  46. {
  47. for (int i = 0; i < weith; i++)
  48. {
  49. if (view[i][j])
  50. {
  51. System.out.print("*");//替换成你喜欢的图案
  52. } else
  53. {
  54. System.out.print(" ");
  55. }
  56. }
  57. System.out.println();
  58. }
  59. } catch (Exception e)
  60. {
  61. e.printStackTrace();
  62. }
  63. }
  64. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/179584
推荐阅读
相关标签
  

闽ICP备14008679号