首页 > 技术文章 > myeclipse控制台打印文字

MissSu 2017-05-30 12:32 原文

先来看看效果图:

 

下面是代码:

import java.awt.Font;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;

public class Test
{
public static void main(String[] args)
{
try
{
Font font = new Font("黑体", Font.PLAIN, 14);
AffineTransform at = new AffineTransform();
FontRenderContext frc = new FontRenderContext(at, true, true);
GlyphVector gv = font.createGlyphVector(frc, "苏兴海祝您:"); // 要显示的文字
Shape shape = gv.getOutline(5, 22);
int weith = 150;
int height = 25;
boolean[][] view = new boolean[weith][height];
for (int i = 0; i < weith; 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 < weith; i++)
{
if (view[i][j])
{
System.out.print("~");// 替换成你喜欢的图案
} else
{
System.out.print(" ");
}
}
System.out.println();
}
} catch (Exception e)
{
e.printStackTrace();
}

 

Font font = new Font("黑体", Font.PLAIN, 16);
AffineTransform at = new AffineTransform();
FontRenderContext frc = new FontRenderContext(at, true, true);
GlyphVector gv1 = font.createGlyphVector(frc, "端午节快乐!!"); // 要显示的文字
Shape shape1 = gv1.getOutline(2, 12);//上下两个图的距离
int weith1 = 150;
int height1 = 25;
boolean[][] view1 = new boolean[weith1][height1];
for (int i = 0; i < weith1; i++)
{
for (int j = 0; j < height1; j++)
{
if (shape1.contains(i, j))
{
view1[i][j] = true;
} else
{
view1[i][j] = false;
}
}
}
for (int j = 0; j < height1; j++)
{
for (int i = 0; i < weith1; i++)
{
if (view1[i][j])
{
System.out.print("~");// 替换成你喜欢的图案
} else
{
System.out.print(" ");
}
}
System.out.println();
}
}

}

 

推荐阅读