java 字符转化为点阵,输入文字,输出点阵文字
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有很多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 字符转化为点阵,输入文字,输出点阵文字相关推荐
- acm java 快速读写,java_acm快速输入和输出
平常我们在用java做acm题目的时候,都是用 Scanner cin = new Scanner(System.in); int num = cin.nextInt(); System.out.pr ...
- 12、字符(串)输入、输出
目录 一.字符数据输入/输出 1. 字符数据输入 2. 字符数据输出 二.字符串输入/输出 1. 字符串输入函数 2. 字符串输出函数 一.字符数据输入/输出 1. 字符数据输入 字符数据输入使用的是 ...
- C语言字符和字符串的输入与输出
C语言 一.输入单个字符 1.scanf函数输入单个字符 C语言scanf输入时缓冲区问题 scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格.回车这 ...
- java缓冲输入流_java _io_字符缓冲流的输入、输出
新增方法: 输入: BufferedReader breader=new BufferedReader(Reader reader); .readLine()读取一行内容,返回字符串 输出: Buff ...
- 【Java】字节流-从文件输入,输出到文件
假如需要复制一张图片,一份word,一个rar包.可以以字节流的方式,读取文件,然后输出到目标文件夹. 以复制一张4M的图片举例. 每次读一个字节: ch = (char)System.in.read ...
- Java 1.2.3 文件输入与输出
文件读取 要想对文件进行读取,就需要一个用 File 对象构造一个 Scanner 对象,如下所示: Scanner in = new Scanner(Paths.get("myfile.t ...
- Java日历的制作(输入年月输出日历表)
package com.unit2.test; import java.util.Scanner; /** 输入年月,将输出出日历表(从1900.1.1开始计算总天数)*/ public class ...
- java输入字母_JAVA如何把输入中文输出汉语拼音字母的原理与代码
按照拼音区间不全面,很多常见字不能覆盖. 比如:怡.骟.骠.骢 等. 比较好的解决方案就是找一份全面的拼音汉字对照表,生成Map来查找. 下面是按照拼音区间的思路实现的不完全工具类:package c ...
- java 字符转化字符串_【转载】java字符串的各种编码转换
来自:http://www.blogjava.net/rabbit/archive/2008/03/27/189009.html import java.io.UnsupportedEncodingE ...
最新文章
- github一些常见命令
- 不同的source control下配置DiffMerge
- 视频录制,压缩实现源码
- 解决org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryVal
- python中的any函数_python函数-any()
- 【Spring】SpringMVC之REST编程风格
- C++总结笔记(五)——构造函数和析构函数
- BZOJ 1877 拆点费用流
- 修改JEECG项目浏览器标题
- 推荐系统中的context到底指的是什么?
- 图解 JVM 内存结构
- python函数库 阶跃 信号函数 调用_使用numpy增加阶跃函数中的分辨率
- 2018天梯赛第一次训练题解和ac代码
- 基于JavaWeb的C2C网上购物平台系统设计
- 如何根据vin码查询_车架号查询-VIN查询-车辆识别码查询-宜配网
- 视频教程-图解Python编程神器Jupyter Notebook-Python
- 免费-进销存、Erp系统、、crm系统、oa系统推荐锦集
- Zabbix部署(参考官方文档)
- Windows远程桌面实现之六(新版本框架更新,以及网页HTML5音频采集通讯)
- ffmeg将多段视频合成一个视频