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(); } }}