Graphics2d拥有比graphics更为强大的画图方法
所以在画图时,我们要使用的画笔是Graphics2D。
但是,Graphics2D直接拿来画,效果是一样的,还是有锯齿(原因:像素太小导致)。
所以我们要对它设置各种呈现算法。

设置呈现算法语句:
BufferedImage img=new BufferedImage(什么什么什么);
Graphics2D g2 = img.createGraphics();//获得一个Graphics2D对象
【设置抗锯齿属性】

//消除文字锯齿
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

//消除画图锯齿

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

在上面的【设置抗锯齿属性】中,粗体你照写就可以了,细的是可以替换的
消文字锯齿:RenderingHints.KEY_TEXT_ANTIALIASING
消绘图锯齿:RenderingHints.KEY_ANTIALIASING
选你需要的填进去就可以了,然后就可以绘图消锯齿了。
实例代码如下:

public class CompoundTileTools {
public static void main(String[] args) {
  int width = Constants.s_width_gps;
  int height = Constants.s_height_gps;
  // 创建BufferedImage对象
  BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
  // 获取Graphics2D
  Graphics2D g2d = image.createGraphics();
// ---------- 增加下面的代码使得背景透明 -----------------
  image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
  g2d.dispose();
  g2d = image.createGraphics();
  // ---------- 背景透明代码结束 -----------------
  
  //消除锯齿
  g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// 画图
  g2d.setColor(new Color(255, 0, 0));
  // 指定绘制线的宽度(多粗)
  g2d.setStroke(new BasicStroke(2));
  // 指定绘制线的起点和终点
  g2d.drawLine(412, 253, 392, 252);
// 释放对象
  g2d.dispose();
  // 保存文件
  try {
   ImageIO.write(image, "png", new File("D:/test/test1.png"));
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

Graphics2d消除锯齿整理相关推荐

  1. java 消除png 锯齿_java Graphics2d消除锯齿,使字体平滑显示

    标签: Java 2D API 提供的文本处理功能进行美化.Java 2D API 的文本功能包括: 使用抗锯齿处理和微调(hinting)以达到更好的输出质量 可以使用系统安装的所有字体 可以将对图 ...

  2. google map Api接口整理

    Google Map Api接口整理 一:基本知识: 1. 使用谷歌地图 API 的第一步就是要注册一个 API 密钥,需要注意一下两点: 1.如果使用 API 的页面还没有发布,只是在本地调试,可以 ...

  3. sublime 消除锯齿_如何在Sublime中消除麻烦

    sublime 消除锯齿 by Abdul Kadir 通过阿卜杜勒·卡迪尔(Abdul Kadir) 如何在Sublime中消除麻烦 (How to lint away your troubles ...

  4. drawlinetest.java_Java Graphics2D.setRenderingHint方法代碼示例

    本文整理匯總了Java中java.awt.Graphics2D.setRenderingHint方法的典型用法代碼示例.如果您正苦於以下問題:Java Graphics2D.setRenderingH ...

  5. java画图消除锯齿_java – JButton文本的消除锯齿

    我在JButton中使用Font Awesome来创建一个可点击的图标,但是当尺寸很小时,生成的图标会显示为别名.正如一些背景知识,Font Awesome是一个可下载的ttf文件(字体文件),其中每 ...

  6. java graphics2d 矩形_使用java.awt.Graphics2D画矩形

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.awt.Graphics; import java.awt.Gra ...

  7. JAVA原生图片处理:Graphics2D海报升级(二)

    最近公司安排我写批量海报(9图合1,生成几十张海报图).单品海报,多个商品海报(常规业务) 技巧:字体居中:背景宽/2-字体长度/2(只适合字体宽度能计算) 只说最简单的生成一张海报里面包含元素 背景 ...

  8. 图片消除锯齿和图片锐化

    1 图片消除锯齿 图片在缩小过程中已办都会产生一定的锯齿感,最好在缩放的过程中设置一定的消除锯齿效果 // 消除锯齿 g.setRenderingHint(RenderingHints.KEY_ANT ...

  9. Java使用Graphics2D画波浪线的艰辛之路

    需求是根据飞机的线路情况,需要画直线,双直线,波浪线,虚线,连连接航路 其他都好说,这波浪线尤其不好画 搜了一圈,基本都是建议使用drawArc方法画圆弧拼接波浪线,但是及其麻烦,效果如下,并不理想 ...

最新文章

  1. 云计算架构设计6大原则,你遵循了吗?
  2. [BZOJ3932][CQOI2015]任务查询系统(差分+主席树)
  3. 径向基函数RBF三维网格变形
  4. C#设计模式:迭代器模式(Iterator Pattern)
  5. Hibernate多对多双向关联需要注意的问题(实例说话)
  6. 通过Word 2016 发布的内容
  7. (32)VHDL实现同步复位D触发器
  8. vsan的容量设备故障和缓存设备故障分析
  9. last_inner = inner_lateral + inner_top_down RuntimeError: The size of tensor a (81) must match the s
  10. pjproject编译方法与相关错误解决
  11. Python 科学计算
  12. 苍井空老师的Twitter
  13. 淘宝新规:售假者严重违规须缴纳100%保证金
  14. 解决Win7的svchost进程占内存过大,计算机运行过慢的方法
  15. android 如何去控制第三方音乐播放app之控制QQ音乐
  16. jQuery表单正则校验(邮箱、手机号、身份证)
  17. 《Linux内核设计与实现》之进程
  18. [重磅] 让HTML5达到原生的体验 系列之一 避免切页白屏
  19. 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ
  20. 【问题解决】关于Oracle官网下载JDK需要登录Oracle账户问题

热门文章

  1. python小游戏代码大全打枪-python实现微信小游戏打飞机代码
  2. 树莓派 java 驱动 微雪 墨水屏 4灰阶 epaper
  3. 10024.多媒体短信MMS
  4. MT6763芯片最新参考设计MT6763芯片datasheetMT6763芯片规格书
  5. python语言与MATLAB语言的区别
  6. linux 配置防火墙 firewalld 屏蔽海外国外IP访问(服务器受到外网未知用户攻击,通过设置防火墙隔绝) 仅允许中国国内ip访问自己在公网上的服务器
  7. 同花顺股票交易通过接口获取数据
  8. Task3 特征工程
  9. Unity通过相机控制场景模型的移动和缩放
  10. 电信光纤猫 f412超级密码