Java生成png文件字体不清晰_java 文本图片字体模糊优化处理
昨天發現雖然圖片生成字體夠清楚了,但是會出現少量鋸齒,所以調整了下,代碼如下:
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-- 以下為舊的
今天遇到一個很糾結的問題,就是用java 生成的圖片字體很是模糊,一開始以為是字體的問題,換了很多字體,例如蘋方,思源黑體,這些平時用到的開源字體,無論咋處理,都沒效果。
后面老大看了下,覺得是我的畫布又問題,于是添加了一個參數,實例如下:
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
然后就ok了,具體代碼如下
/**
* 計算文本高度
*
* @param content 文本內容
* @param font 文本字體
* @param width 文本的行寬
* @param lineHeight 文本行高
*/
public static ContentImgInfo effectiveHeight(String content, Font font, int width, int lineHeight) {
int imgHeight = 0;
ContentImgInfo contentImgInfo = new ContentImgInfo();
try {
BufferedImage image = new BufferedImage(100, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.setFont(font);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
FontMetrics fm = g.getFontMetrics(font);
// 獲取字體高度
int fontHeight = fm.getHeight() + lineHeight;
// 添加對文字的換行處理
char firstChar = "中文".charAt(0);
int charWidth = fm.charWidth(firstChar); // 字符的寬度
int num = (int) Math.ceil(width / charWidth);
int lineNum = EffHelper.ceil(content.length(), num) + 1;
imgHeight = lineNum * fontHeight;
g.dispose();
// 設置文本圖片信息
contentImgInfo.setFontHeight(fontHeight);
contentImgInfo.setContentImgHeight(imgHeight);
contentImgInfo.setLineNum(lineNum);
} catch (Exception e) {
}
return contentImgInfo;
}
java通過freemarker導出包含富文本圖片的word文檔
廢話不多說,進入正題! 本文重點在于:對富文本圖片的導出(基礎的freemarker+word模板導出這里不做詳細解說哈) 參考文章:http://www.cnblogs.com/liaofeifig ...
web前端圖片加載優化,從圖片模糊到清晰的實現過程
在網頁圖片顯示的時候,會發現許多網站采用了先模糊,然后在慢慢清晰的過程,這樣的加載用戶體驗是比較好的,那么如何實現吶? 默認加載2張圖片,一張縮略圖,一張原圖,當打開網頁的時候默認只顯示縮略圖,然后我 ...
Manjaro安裝配置美化字體模糊發虛解決記錄
Manjaro安裝記錄 前言: ? 記錄自己Manjaro18安裝的一些坑,避免下次滿互聯網找解決方法.在此之前試過Manjaro.Ubuntu.Fedora.linux Mint系統的pac.yum ...
css3新增邊框、陰影、邊框、背景、文本、字體
css3和css有什么區別?簡單來講css3是css(層疊樣式表)技術的升級版本,css3新特征有很多,例如圓角效果.圖形化邊界.塊陰影與文字陰影.使用RGBA實現透明效果.漸變效果.使用@Font- ...
Win10 字體模糊解決(DPI縮放禁用),設置默認輸入法英文
電腦壞了 , 換了新電腦, 但是新電腦,死活不能裝win7, 裝都不能裝!!!郁悶了 好多地方字體模糊了,百般設置都不好看, 后來遠程桌面到win2008server, 發現,在遠程桌面里面居然很清晰 ...
Qt在Linux環境下應用程序字體模糊的解決方法(先改成使用默認字體,然后使用qtconfig配置)
這兩天一直在用Qt實現一個跨平臺的軟件.軟件之前在Windows上編寫的,后來放到里Ubuntu 10.10下編譯.程序運行時遇到一個很棘手的問題,界面文本非常模糊.后來在網上查閱了好幾天的資料,經歷 ...
HTML學習筆記 CSS文本及字體及連接及列表(a標簽使用及縮進) 案例 第七節 (原創)參考使用表
總結
以上是生活随笔為你收集整理的Java生成png文件字体不清晰_java 文本图片字体模糊优化处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你知道最真实的大数据故事吗?13 个大数
- 下一篇: MIPS结构体传参