java添加水印文字模糊问题(Graphics2D文字和图形边缘线条平滑效果)

前言

最近有个证书管理系统的项目,但是发现用java的graphics2d绘制文字但是文字边缘模糊,于是有了本文的解决方案,可广泛适用于graphics2d绘制的水印等地方。

解决方案

这是项目实际代码,

BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufImg.createGraphics();
//文字边缘平滑 by zhengkai.blog.csdn.net
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
//图片边缘平滑 by zhengkai.blog.csdn.net
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

//各种描绘......省略核心代码

//绘制完毕释放内存
g.dispose();

设置抗锯齿属性
文字边缘平滑 g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
图片边缘平滑
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
效果预览
1.优化之前,可以看到文字边缘模糊

                ​​​​​​​        ​​​​​​​        ​​​​​​​   

 

2.优化之后,可以看到文字边缘顺滑


————————————————
版权声明:本文为CSDN博主「Moshow郑锴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/moshowgame/article/details/120538454

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值