java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题

简介: 这篇文章是关于如何在Java中使用Graphics2D的RenderingHints方法来提高海报制作的图像质量和文字清晰度,包括抗锯齿和解决文字不清晰问题的技术详解。

前言

  1. 文字换行算法详解,传送门:java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解
  2. 头像切割成圆形方法详解,传送门:java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
  3. 获取微信二维码详情,传送门:java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
  4. java BufferedImage 转 InputStreampng 图片合成到模板(另一个图片)上时,透明部分变成了黑色,传送门:java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
  5. java 整合echarts 画出 折线图,传送门:
  6. Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题,传送门:java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题
  7. 项目部署到linux下中文不显示,echarts图上的中文也不显示问题,传送门:java制作海报七:java Graphics2D 合成图片 在 linux下中文不显示,echarts图上的中文也不显示问题
  • 这里的代码都在上面的 GitHub

一、需求描述

在 使用 java Graphics2D 进行画图时,有一个配置如下:
在这里插入图片描述
这个方法g2d.setRenderingHint()配置很常见,这个配置也很重要,可以配置抗锯齿,使图片合成变的清晰,不再失真。
以下配置,也可以进行对文字进行配置抗锯齿,解决不清晰问题。

这个方法的配置项,是key value的形式。
下面进行配置项讲解

二、RenderingHints 配置详解

RenderingHints 类定义了多种着色微调,它们存储在一个映射集的 Graphics2D 对象里。setRenderingHint() 方法的参数是一个键值对的形式。

下面详细介绍各个常用键值的含义:

  1. KEY_ANTIALIASING 决定是否使用抗锯齿。当着色有倾斜角度的线时,通常会得到一组阶梯式的像素排列,使这条线看上去不平滑,经常被称为 锯齿状图形。抗锯齿是一种技术,它设置有倾斜角度的线的像素亮度,以使线看起来更平滑。因此,这个微调是用来决定在着色有倾斜角度的线时是否在减少锯齿状图形上花费时间。可能的值有 VALUE_ANTIALIAS_ON(使用抗锯齿)、VALUE_ANTIALIAS_OFF(不使用抗锯齿) 和 VALUE_ANTIALIAS_DEFAULT(默认的抗锯齿)

  2. KEY_COLOR_RENDERING 控制颜色着色的渲染方式。可能的值有 VALUE_COLOR_RENDER_SPEED(追求速度)、VALUE_COLOR_RENDER _QUALITY(追求质量) 和 VALUE_COLOR_RENDER_DEFAULT(默认)

  3. KEY_DITHERING 控制如何处理抖动。抖动是用一组有限的颜色合成出一个更大范围的颜色的过程,方法是给相邻像素着色以产生不在该组颜色中的新的颜色幻觉。可能的值有 VALUE_DITHER_ENABLE(不抖动)、VALUE_DITHER _DISABLE (抖动)和 VALUE_DITHER_DEFAULT(默认)

  4. KEY_FRACTIONALMETRICS 字体规格。可能的值有VALUE_FRACTIONALMETRICS_ON(启用字体规格)、VALUE_FRACTIONALMETRICS_OFF(禁用字体规格) 和VALUE_FRACTIONALMETRICS _DEFAULT(默认)

  5. KEY_INTERPOLATION 确定怎样做内插。在对一个源图像做变形时,变形后的像素很少能够恰好对应目标像素位置。在这种情况下,每个变形后的像素的颜色值不得不由周围的像素决定。内插就是实现上述过程。有许多可用的技术,可能的值,按处理时间从最多到最少,是 VALUE_INTERPOLATION_BICUBIC、 VALUE_INTERPOLATION_BILINEAR 和 VALUE_INTERPOLATION_NEAREST_NEIGHBOR

  6. KEY_RENDERING 确定着色技术,在速度和质量之间进行权衡。可能的值有 VALUE_RENDERING_SPEED(追求速度)、VALUE_RENDERING _QUALITY(追求质量) 和VALUE_RENDERING_DEFAULT(默认)

  7. KEY_TEXT_ANTIALIASING 确定对文本着色时是否抗锯齿。可能的值有 VALUE_TEXT_ANTIALIASING_ON(使用抗锯齿呈现文本)、VALUE_TEXT_ANTIALIASING _OFF (不使用抗锯齿呈现文本)和VALUE_TEXT_ANTIALIASING _DEFAULT(使用平台默认的文本抗锯齿模式呈现文本)

  8. KEY_ALPHA_INTERPOLATION 代表 alpha 合成微调的键,该微调可能的值有 VALUE_ALPHA_INTERPOLATION_SPEED(追求速度)、VALUE_ALPHA_INTERPOLATION_QUALITY(追求质量)和VALUE_ALPHA_INTERPOLATION_DEFAULT,代表平台缺省值。

  9. KEY_STROKE_CONTROL 笔划规范化控制,可能有的值有VALUE_STROKE_NORMALIZE、VALUE_STROKE_PURE和VALUE_STROKE_DEFAULT

相关文章
|
5月前
|
Java Linux Windows
java 图片上绘制文字Graphics2D linux 中文乱码
java 图片上绘制文字Graphics2D linux 中文乱码
208 0
|
Java
Java如何实现证件照换底色| 背景换色
Java如何实现证件照换底色| 背景换色
561 0
java代码绘制生成图片(用于多张图片合成)
java代码绘制生成图片(用于多张图片合成)
1864 0
|
16小时前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
16小时前
|
算法 Java Linux
java制作海报七:java Graphics2D 合成图片 在 linux下中文不显示,echarts图上的中文也不显示问题
这篇文章讨论了在Linux环境下使用Java Graphics2D合成图片时遇到的中文显示问题,并提供了解决方案,包括如何在Linux系统中添加中文字体库。
java制作海报七:java Graphics2D 合成图片 在 linux下中文不显示,echarts图上的中文也不显示问题
|
16小时前
|
算法 Java Linux
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
这篇文章介绍了如何使用Java的Graphics2D类在图片上合成另一个照片,并将照片切割成圆形头像的方法。
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
|
16小时前
|
算法 Java Linux
java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解
这篇文章介绍了如何在Java中使用Graphics2D在图片上绘制文字,并实现自动换行的功能。
|
11月前
|
区块链
EasyX趣味化编程note6,图片操作及文字
EasyX趣味化编程note6,图片操作及文字
106 0
|
Java Linux API
手把手教你如何通过Java给图片添加文字和图片水印(一)
手把手教你如何通过Java给图片添加文字和图片水印(一)
1522 0
手把手教你如何通过Java给图片添加文字和图片水印(一)
|
Java 计算机视觉
Java调用opencv证件照替换背景色
Java调用opencv证件照替换背景色
943 0