该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

有很多magic number,修改如下

import java.awt.Font;

import java.awt.Rectangle;

import java.awt.Shape;

import java.awt.font.FontRenderContext;

import java.awt.font.GlyphVector;

import java.awt.geom.AffineTransform;

import java.awt.geom.RectangularShape;

public class FontTest

{

public static void main(String[] args)

{

Font font = new Font("黑体", Font.BOLD, 20);

AffineTransform at = new AffineTransform();

FontRenderContext frc = new FontRenderContext(at, true, true);

GlyphVector gv = font.createGlyphVector(frc, "JinCeon");

RectangularShape rs = gv.getVisualBounds();

//rs这个矩形的Y坐标为什么是负数?求解答

Shape shape = gv.getOutline((float)-rs.getX(), (float)-rs.getY());

Rectangle rect = shape.getBounds();

int width = rect.width + rect.x;

int height = rect.height;

boolean[][] view = new boolean[width][height];

for (int i = 0; i < width; i++)

{

for (int j = 0; j < height; j++)

{

if (shape.contains(i, j))

{

view[i][j] = true;

} else

{

view[i][j] = false;

}

}

}

for (int j = 0; j < height; j++)

{

for (int i = 0; i < width; i++)

{

if (view[i][j])

{

System.out.print("囧");// 替换成你喜欢的图案

} else

{

System.out.print("   ");// 全角半角和上面一致

}

}

System.out.println();

}

}

}

java 字符转化为点阵,输入文字,输出点阵文字相关推荐

  1. acm java 快速读写,java_acm快速输入和输出

    平常我们在用java做acm题目的时候,都是用 Scanner cin = new Scanner(System.in); int num = cin.nextInt(); System.out.pr ...

  2. 12、字符(串)输入、输出

    目录 一.字符数据输入/输出 1. 字符数据输入 2. 字符数据输出 二.字符串输入/输出 1. 字符串输入函数 2. 字符串输出函数 一.字符数据输入/输出 1. 字符数据输入 字符数据输入使用的是 ...

  3. C语言字符和字符串的输入与输出

    C语言 一.输入单个字符 1.scanf函数输入单个字符 C语言scanf输入时缓冲区问题 scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格.回车这 ...

  4. java缓冲输入流_java _io_字符缓冲流的输入、输出

    新增方法: 输入: BufferedReader breader=new BufferedReader(Reader reader); .readLine()读取一行内容,返回字符串 输出: Buff ...

  5. 【Java】字节流-从文件输入,输出到文件

    假如需要复制一张图片,一份word,一个rar包.可以以字节流的方式,读取文件,然后输出到目标文件夹. 以复制一张4M的图片举例. 每次读一个字节: ch = (char)System.in.read ...

  6. Java 1.2.3 文件输入与输出

    文件读取 要想对文件进行读取,就需要一个用 File 对象构造一个 Scanner 对象,如下所示: Scanner in = new Scanner(Paths.get("myfile.t ...

  7. Java日历的制作(输入年月输出日历表)

    package com.unit2.test; import java.util.Scanner; /** 输入年月,将输出出日历表(从1900.1.1开始计算总天数)*/ public class ...

  8. java输入字母_JAVA如何把输入中文输出汉语拼音字母的原理与代码

    按照拼音区间不全面,很多常见字不能覆盖. 比如:怡.骟.骠.骢 等. 比较好的解决方案就是找一份全面的拼音汉字对照表,生成Map来查找. 下面是按照拼音区间的思路实现的不完全工具类:package c ...

  9. java 字符转化字符串_【转载】java字符串的各种编码转换

    来自:http://www.blogjava.net/rabbit/archive/2008/03/27/189009.html import java.io.UnsupportedEncodingE ...

最新文章

  1. github一些常见命令
  2. 不同的source control下配置DiffMerge
  3. 视频录制,压缩实现源码
  4. 解决org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryVal
  5. python中的any函数_python函数-any()
  6. 【Spring】SpringMVC之REST编程风格
  7. C++总结笔记(五)——构造函数和析构函数
  8. BZOJ 1877 拆点费用流
  9. 修改JEECG项目浏览器标题
  10. 推荐系统中的context到底指的是什么?
  11. 图解 JVM 内存结构
  12. python函数库 阶跃 信号函数 调用_使用numpy增加阶跃函数中的分辨率
  13. 2018天梯赛第一次训练题解和ac代码
  14. 基于JavaWeb的C2C网上购物平台系统设计
  15. 如何根据vin码查询_车架号查询-VIN查询-车辆识别码查询-宜配网
  16. 视频教程-图解Python编程神器Jupyter Notebook-Python
  17. 免费-进销存、Erp系统、、crm系统、oa系统推荐锦集
  18. Zabbix部署(参考官方文档)
  19. Windows远程桌面实现之六(新版本框架更新,以及网页HTML5音频采集通讯)
  20. ffmeg将多段视频合成一个视频

热门文章

  1. 显示\隐藏系统文件及扩展名
  2. Spring 框架更新了一条可能造成 RCE(远程命令执行漏洞)
  3. 宽带运营商服务器未响应是什么意思,宽带拨号服务器无响应
  4. 用dom4j实现对象和xml文件的互相转换
  5. CleanMyMac X4.10.6mac上非常强大的系统清理工具
  6. PHP快速入门(一)
  7. HAUT 1262 魔法宝石(spfa)(河南工业大学2017校赛)
  8. shell trim函数
  9. MONTHS_BETWEEN函数使用
  10. 【PL/SQL】Insert/ update/ delete/ merge