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