|
由于項目要在圖片中動態(tài)加入文字,沒想到字體有毛邊,找了N多文章沒找到解決方法,最后用英文關鍵字在google上找到了,唉,為什么大家對這些都不關心呢?
Java 2D - smooth text fonts
http://forums./thread.jspa?threadID=739493
其實就是多加一個方法而已
Graphics2D g = image.createGraphics();
//讓字體變平滑
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
后來又找到了一個中文說明:
http://www./entry/494
Windows下的 ClearType 能使字體看上去更平滑,但似乎對于 java 小程序里面的文字沒有作用。不過可以用 Java 2D API 提供的文本處理功能進行美化。Java 2D API 的文本功能包括:
· 使用抗鋸齒處理和微調(diào)(hinting)以達到更好的輸出質量
· 可以使用系統(tǒng)安裝的所有字體
· 可以將對圖形對象的操作(旋轉、縮放、著色、剪切等等)應用到文本上。
· 支持向字符串添加內(nèi)嵌屬性(如字體、尺寸、深淺,甚至圖像)
· 支持雙向文本(啟用從右到左的字符順序,就象您在阿拉伯語和希伯來語中可能遇到的一樣)
· 第一光標和第二光標能夠瀏覽同時包含從右到左和從左到右字符順序的文本。
· 先進的字體度量功能,超過舊的 java.awt.FontMetrics 類中的相應功能
· 排版功能可以實現(xiàn)單詞換行和調(diào)整多行文本
這個 API 的核心是由 java.awt.Graphics2D 類提供的,該類是 java.awt.Graphics 的一個子類。API 的其它部分由 java.awt 層次結構中的其它包提供,包括 java.awt.color 、 java.awt.font 和 java.awt.geom 。對 Graphics2D 使用 setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 以達到邊緣平滑的效果。
|