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 文本图片字体模糊优化处理相关推荐
- java 生成csv文件_Java生成CSV文件实例详解
本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- java 导出mdb文件_Java中Java生成mdb文件工具类
package com.util; /** * Java生成mdb文件[MS Access文件] * 1. 在ClassPath下存一个空的blank.mdb. (也就是在你的项目中包含一个空白的 ...
- 超详细的java生成excel文件并下载
在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...
- # Java 生成pdf文件
Java 生成pdf文件 引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <depend ...
- Java生成PDF文件_自用
Java生成PDF文件 一.前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库.废话不多说,进入正题. 二.iText简介 ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题
java生成压缩文件 ZipEntry出现乱码的问题 在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze ...
- java流与文件——java生成解压缩文件(夹)
[0]README 0.1) 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 , 旨在理解 java流与文件--java生成解压 ...
- Java生成ics文件
java生成ICS文件,这玩意好象是个什么日程表类的东西.可以导入到outlook里面用. public void exportActivityDates(HttpServletRequest req ...
- iText5实现Java生成PDF文件完整版,二维码
iText5实现Java生成PDF文件完整版 vue 项目中分别使用 vue-pdf 插件和内嵌 iframe 实现 PDF 文件预览,缩放,旋转,下载,保存等功能 ? Vue打印文件(v-print ...
最新文章
- 如何设计出“有趣”的互联网产品?
- 201621123037 《Java程序设计》第10周学习总结
- Leetcode 240.搜索二维矩阵II (每日一题 20210727 同一题)
- Bash中的shopt选项
- android 调用c wcf服务,如何使用命名管道从c调用WCF方法?
- 【算法精讲】分享一道很不错的算法题
- php 操件文件指定编码,(PHP帮助)如果文件中存在特定编号,请执行此操作
- 在 Confluence 6 中的 Jira 高级权限
- 程序员硬核吃瓜宋慧乔宋仲基离婚、范冰冰李晨分手!
- 阿里云ECS服务器自定义端口无法访问问题记录
- 概率论与数理统计习题集及答案
- ubuntu服务器基本安全配置
- android tab吸顶,Android 顶部带Banner的TabLayout吸顶实现方案
- portknocking(端口试探)简介
- 【深度学习】基于人脸关键点的视频心率检测
- 用神经网络实现语音分类
- Python爬虫识别中文字符和标点符号
- 小米将推出新款自研芯片
- SECTION 15 函数和函数式编程(二)
- P2P穿透StunServer
热门文章
- 用友NC6.5 6.33 6.3 5.7 5.5 5.02最新补丁下载
- ubuntu编译libjpeg-turbo
- macBook Air出现部分乱码问题解决(浏览器、appstore乱码)
- java去除音频无声_java – 使用FFMPEG和silencedetect删除音频静音
- 华为交换机学习指南基于端口划分VLAN的四种方案
- 魔乐MLDN李兴华主讲Oracle视频教程
- 洛谷P2525 Uim的情人节礼物·其之壱(组合数学/上一个全排列/下一个全排列)
- oracle练习(mldn视频课程)四
- Allegro学习笔记:Allegro快速入门之一--查看BRD Layout
- 模拟集成电路设计初学系列