日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java生成png文件字体不清晰_java 文本图片字体模糊优化处理

發(fā)布時(shí)間:2023/12/10 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java生成png文件字体不清晰_java 文本图片字体模糊优化处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

昨天發(fā)現(xiàn)雖然圖片生成字體夠清楚了,但是會(huì)出現(xiàn)少量鋸齒,所以調(diào)整了下,代碼如下:

g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

-- 以下為舊的

今天遇到一個(gè)很糾結(jié)的問題,就是用java 生成的圖片字體很是模糊,一開始以為是字體的問題,換了很多字體,例如蘋方,思源黑體,這些平時(shí)用到的開源字體,無論咋處理,都沒效果。

后面老大看了下,覺得是我的畫布又問題,于是添加了一個(gè)參數(shù),實(shí)例如下:

g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);

然后就ok了,具體代碼如下

/**

* 計(jì)算文本高度

*

* @param content 文本內(nèi)容

* @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;

// 添加對(duì)文字的換行處理

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

// 設(shè)置文本圖片信息

contentImgInfo.setFontHeight(fontHeight);

contentImgInfo.setContentImgHeight(imgHeight);

contentImgInfo.setLineNum(lineNum);

} catch (Exception e) {

}

return contentImgInfo;

}

java通過freemarker導(dǎo)出包含富文本圖片的word文檔

廢話不多說,進(jìn)入正題! 本文重點(diǎn)在于:對(duì)富文本圖片的導(dǎo)出(基礎(chǔ)的freemarker+word模板導(dǎo)出這里不做詳細(xì)解說哈) 參考文章:http://www.cnblogs.com/liaofeifig ...

web前端圖片加載優(yōu)化,從圖片模糊到清晰的實(shí)現(xiàn)過程

在網(wǎng)頁圖片顯示的時(shí)候,會(huì)發(fā)現(xiàn)許多網(wǎng)站采用了先模糊,然后在慢慢清晰的過程,這樣的加載用戶體驗(yàn)是比較好的,那么如何實(shí)現(xiàn)吶? 默認(rèn)加載2張圖片,一張縮略圖,一張?jiān)瓐D,當(dāng)打開網(wǎng)頁的時(shí)候默認(rèn)只顯示縮略圖,然后我 ...

Manjaro安裝配置美化字體模糊發(fā)虛解決記錄

Manjaro安裝記錄 前言: ? 記錄自己Manjaro18安裝的一些坑,避免下次滿互聯(lián)網(wǎng)找解決方法.在此之前試過Manjaro.Ubuntu.Fedora.linux Mint系統(tǒng)的pac.yum ...

css3新增邊框、陰影、邊框、背景、文本、字體

css3和css有什么區(qū)別?簡(jiǎn)單來講css3是css(層疊樣式表)技術(shù)的升級(jí)版本,css3新特征有很多,例如圓角效果.圖形化邊界.塊陰影與文字陰影.使用RGBA實(shí)現(xiàn)透明效果.漸變效果.使用@Font- ...

Win10 字體模糊解決(DPI縮放禁用),設(shè)置默認(rèn)輸入法英文

電腦壞了 , 換了新電腦, 但是新電腦,死活不能裝win7, 裝都不能裝!!!郁悶了 好多地方字體模糊了,百般設(shè)置都不好看, 后來遠(yuǎn)程桌面到win2008server, 發(fā)現(xiàn),在遠(yuǎn)程桌面里面居然很清晰 ...

Qt在Linux環(huán)境下應(yīng)用程序字體模糊的解決方法(先改成使用默認(rèn)字體,然后使用qtconfig配置)

這兩天一直在用Qt實(shí)現(xiàn)一個(gè)跨平臺(tái)的軟件.軟件之前在Windows上編寫的,后來放到里Ubuntu 10.10下編譯.程序運(yùn)行時(shí)遇到一個(gè)很棘手的問題,界面文本非常模糊.后來在網(wǎng)上查閱了好幾天的資料,經(jīng)歷 ...

HTML學(xué)習(xí)筆記 CSS文本及字體及連接及列表(a標(biāo)簽使用及縮進(jìn)) 案例 第七節(jié) (原創(chuàng))參考使用表

總結(jié)

以上是生活随笔為你收集整理的Java生成png文件字体不清晰_java 文本图片字体模糊优化处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。