项目场景:

在一个线上互联网医院中,需要生成电子处方图片,图片里面会有医生的手写签名。通过java.awt的Graphics2D方式来生成处方图片,并将手写签名的图片导入其中。


问题描述:

但是在签名图片导入后,就可以看到明显的锯齿。
具体导入图片代码:

g2.drawImage(getImage("https://xx.jpg", 100, 50), WIDTH - (LEVEL_PADDING + 9 * contentFontSize + contentFontSize / 2) + 5, height - bottomLine - (contentFontSize + LINE_SPACING + 15) + 5,100, 50, null);
    private static BufferedImage getImage(String url) {if (Parameters.isEmpty(url)) return null;BufferedImage read = null;try {url = url.replaceFirst("https", "http");read = ImageIO.read(new URL(url));return read;} catch (IOException e) {e.printStackTrace();}return null;}

效果如下:


解决方案:

修改代码如下:

g2.drawImage(getImage("https://xx.jpg", 100, 50), WIDTH - (LEVEL_PADDING + 9 * contentFontSize + contentFontSize / 2) + 5, height - bottomLine - (contentFontSize + LINE_SPACING + 15) + 5, null);
    /*** 抗锯齿处理** @param url* @return*/private static Image getImage(String url, int width, int height) {if (Parameters.isEmpty(url)) return null;BufferedImage read = null;try {url = url.replaceFirst("https", "http");read = ImageIO.read(new URL(url));return read.getScaledInstance(width, height, BufferedImage.SCALE_SMOOTH);} catch (IOException e) {e.printStackTrace();}return null;}

效果如下:

就是解决方法,可能还有更好的方法,需要继续摸索,请多指教。

java awt生成签名图片消除锯齿化相关推荐

  1. Java套版生成动态图片

    Java套版生成动态图片 , 适用于动态的名片生成 , 证件生成等 制作的图片底版   生成后的图片效果 package com.ssmf;/*** 套版生成实体类* @类 名 : CreateIma ...

  2. java实现生成验证码图片

    1.将图片验证码生成到本地的例子: package demo;import java.awt.Color; import java.awt.Font; import java.awt.Graphics ...

  3. java 滑块验证码 开源,Java AWT生成滑动验证码

    最近工作需要在登录时使用滑动验证码做登录校验,在生成验证码图片的时候碰到了不小的麻烦 : (. 网上能查到的做法基本上都是使用一张已存在的实际图片作为滑块的图形模板,然后按照此模板做二重循环逐像素地从 ...

  4. 使用java Graphics2D生成海报图片

    前言:最近做的一个项目需要给商户提供生成海报的功能.本来想着用前端canvas来实现,用户自己去托拉拽,生成想要的图片,可视化比较好.后来需求是要在后端生成固定格式的海报图片,只是商户信息发生改变.所 ...

  5. Java 动态生成jpg图片

    1.生成一个页面数据: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.i ...

  6. java随机生成验证码图片

    验证码 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart&qu ...

  7. 微信APP支付(Java后台生成签名具体步骤)

    public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...

  8. java微信支付签名生成_微信APP支付(Java后台生成签名具体步骤)

    public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...

  9. java png生成webp图片_PNG转WEBP格式的动态图

    最近接手的项目上需要替换以前的UI资源,其中有部分动态图使用的是freso+webp进行显示,然而设计给的只有一帧帧的PNG格式,本来想随便转个GIF弄上去,结果透明背景的PNG转成GIF很容易出现白 ...

最新文章

  1. 云告警平台 OneAlert :如何帮助运维工程师做好汇报?
  2. python实现表格线性回归_Python实现线性回归
  3. now.js 0.1.0 发布了
  4. android在副屏中运行一个应用_Android 双屏显示分析
  5. Xshell安装教程-Xshell 6 个人版安装与远程操作连接服务器
  6. 麋鹿微博工具箱 · 批量删除微博、设置仅自己可见、仅好友可见等
  7. 【vue】使用手机app扫描二维码登录
  8. (日常)Dell R740 XD 服务器安装GPU显卡记录
  9. vue调取电脑摄像头实现拍照功能
  10. vue Linter的各种坑
  11. word参考文献交叉引用的多项引用,改逗号和破折号形式
  12. 用JS控制SVG的预设动画
  13. c语言%.6s和%6s的差别,iPhone 6s与iPhone 7的差别 看完全懂了!
  14. 【素描教程】新手素描鼻子的起形跟…
  15. mac mysql 8.0 忘记密码
  16. JavaScript 王者归来
  17. 声学多普勒流速剖面仪_声学多普勒流速剖面仪(ADCP)的应用实例
  18. 投行排名大洗牌,高盛“跌落神坛
  19. 创新 就是以色列人的呼吸
  20. 2023中山大学计算机考研信息汇总

热门文章

  1. PDF文件太大了,如何免费压缩变小?
  2. java for循环 等待_在forEach循环中使用异步/等待
  3. 【企业高管】CIO vs CEO:主要区别是什么?
  4. excel2010将数字变成以文本存储的数字
  5. Burg法求解AR(p)模型参数及MATLAB实现
  6. 郭金东金浦集团荣登“2019中国民营企业500强”和“2019中国民营企业制造业500强”榜单
  7. hadoop相关(以期为单位)
  8. 利用Wifidog实现微信wifi连接
  9. 〖每天学点管理〗——GTD时间管理
  10. android 4.4 短信拦截,Android 4.4 KitKat升级率已经接近18%