Java 2D API 提供的文本处理功能进行美化。Java 2D API 的文本功能包括:java
这个 API 的核心是由 java.awt.Graphics2D 类提供的,该类是 java.awt.Graphics 的一个子类。API 的其它部分由 java.awt 层次结构中的其它包提供,包括 java.awt.color 、 java.awt.font 和 java.awt.geom 。算法
画线平滑:字体
画线恢复到默认情况:spa
Graphics2d拥有比graphics更为强大的画图方法
因此在画图时,咱们要使用的画笔是Graphics2D。
可是,Graphics2D直接拿来画,效果是同样的,仍是有锯齿(缘由:像素过小致使)。
因此咱们要对它设置各类呈现算法。code
设置呈现算法语句:
BufferedImage img=new BufferedImage(什么什么什么);
Graphics2D g2 = img.createGraphics();//得到一个Graphics2D对象
【设置抗锯齿属性】对象
//消除文字锯齿
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
//消除画图锯齿字符串
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);get
在上面的【设置抗锯齿属性】中,粗体你照写就能够了,细的是能够替换的
消文字锯齿:RenderingHints.KEY_TEXT_ANTIALIASING
消绘图锯齿:RenderingHints.KEY_ANTIALIASING
选你须要的填进去就能够了,而后就能够绘图消锯齿了。
实例代码以下:it
public class CompoundTileTools {
public static void main(String[] args) {
int width = Constants.s_width_gps;
int height = Constants.s_height_gps;
// 建立BufferedImage对象
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 获取Graphics2D
Graphics2D g2d = image.createGraphics();io
// ---------- 增长下面的代码使得背景透明 -----------------
image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
g2d.dispose();
g2d = image.createGraphics();
// ---------- 背景透明代码结束 -----------------
//消除锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// 画图
g2d.setColor(new Color(255, 0, 0));
// 指定绘制线的宽度(多粗)
g2d.setStroke(new BasicStroke(2));
// 指定绘制线的起点和终点
g2d.drawLine(412, 253, 392, 252);
// 释放对象 g2d.dispose(); // 保存文件 try { ImageIO.write(image, "png", new File("D:/test/test1.png")); } catch (IOException e) { e.printStackTrace(); } }}