假设您实际上想要的是平滑(非锯齿)的文本,TextLayout可能会使此操作变得更容易。该FontRenderContext构造可以管理抗锯齿和小数规格设置。

附录:使用g2d.setColor(Color.blue)似乎可以产生预期的效果。

附录:在Mac OS X上,该Pixie应用程序/Developer/Applications/Graphics Tools/可方便地检查抗锯齿像素。在其他平台上,Zoom可以使用。

替代文字

/** @see https://stackoverflow.com/questions/4285464 */

public class BITest extends JPanel {

private BufferedImage image = createNameOnButton("Sample");

public BITest() {

this.setPreferredSize(new Dimension(

image.getWidth(), image.getHeight()));

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(image, 0, 0, null);

}

public BufferedImage createNameOnButton(String label) {

Font font = new Font("Arial", Font.PLAIN, 64);

FontRenderContext frc = new FontRenderContext(null, true, true);

TextLayout layout = new TextLayout(label, font, frc);

Rectangle r = layout.getPixelBounds(null, 0, 0);

System.out.println(r);

BufferedImage bi = new BufferedImage(

r.width + 1, r.height + 1,

BufferedImage.TYPE_INT_ARGB);

Graphics2D g2d = (Graphics2D) bi.getGraphics();

g2d.setColor(Color.blue);

layout.draw(g2d, 0, -r.y);

g2d.dispose();

return bi;

}

private void display() {

JFrame f = new JFrame("BITest");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setUndecorated(true);

f.add(this);

f.pack();

f.setLocationRelativeTo(null);

f.setVisible(true);

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new BITest().display();

}

});

}

}

分享编辑

java抗锯齿_请教一下Java2D图形抗锯齿相关推荐

  1. 抗锯齿_电竞屏+AI抗锯齿,雷神911 Pro游戏本给你更好游戏体验

    今年年初英伟达终于公布了有关RTX 2060的相关信息,在1月29日,首批搭载全新RTX显卡的游戏本电脑就已经面世,雷神911 Pro正是其中的一员,而最近<战地5>也将迎来更新,除了是目 ...

  2. java 画图覆盖_请教如何在java画图中不覆盖原来的画图???

    展开全部 import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Co ...

  3. 从事java的年龄_请教前辈们:JAVA的职业有年龄限制吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 顺便把文章也贴在这里: 来C语言吧潜水很久,冒个泡,给初学者几个建议 1. 如果你不是计算机,电子,自动化等"计算机相关专业",除非你 ...

  4. java vtk 三维_[WPF VTK]三维图形开发基础(四)

    0.条条大路 前面介绍的使用WPF自己撰写算法实现点数据的三角划分以图实现轮廓的三维重构. 但简单的算法以及不加其他处理效果不佳,对于点数据的三角划分在查阅了一些论文后发现有: 基于图的最短路径.De ...

  5. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  6. 云南大学软件学院java实验九_云南大学java实验9

    java实验 (9) 6页 2下载券 Java实验9 4页 2下载券 JAVA实验9 7页 1下载券 java 实验9 暂无评价 1页 免费 Java上机实验9 4页 免费 云大JAVA 实验9图形. ...

  7. JVM - 结合代码示例彻底搞懂Java内存区域_对象在堆-栈-方法区(元空间)之间的关系

    文章目录 Pre 示例demo 总体关系 代码示例论证 反汇编 Pre JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器 中我们探讨了线程栈中的内部结构 ,大家 ...

  8. Java计算时间差_传统的SimpleDateFormat类

    Java计算时间差_传统的SimpleDateFormat类 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd ...

  9. JAVA异常使用_每个人都曾用过、但未必都用得好

    JAVA异常使用_每个人都曾用过.但未必都用得好 一.抛出异常 vs. 返回错误代码 有人说"Well, an exception is a goto.",但也有人言"m ...

最新文章

  1. MySQL 目录结构信息
  2. 【R语言学习】时间序列
  3. JSP数据交互(二)
  4. 2字节十六进制浮点数 qt_Qt二进制文件操作(读和写)详解
  5. 假如不工作了,你还有源源不断的收入吗?
  6. java的迭代器类中有哪些类_java中的集合类 以及 迭代器
  7. c语言josn序列化和反序列化,Flutter 中 JSON 的序列化和反序列化
  8. PHP系统管理mongodb,MongoDB的日常维护管理
  9. C#LeetCode刷题之#367-有效的完全平方数(Valid Perfect Square)
  10. MySql表结构修改详解
  11. 一个表格,一部分允许编辑,有公式的单元格不允许编辑
  12. MongoDB联合查询 -摘自网络
  13. zigbee学习之JN5169 串口UARTs
  14. 2021蓝桥杯预选赛题解
  15. Oracle安装后检查内容,ORA-12541:TNS:no listener错误解决方法
  16. node mysql实现登陆注册_使用 NodeJs 链接 mysql 的实现登录与注册
  17. PDF、Word、Excel文件前端预览实操干货都在这!
  18. PayPal开发文档整理(8)——PayPal支付产品和解决方案
  19. 2.1 SSD算法理论
  20. 电脑微信网络正常,浏览器无法联网,显示“代理服务出现问题,或者地址有误”

热门文章

  1. win7笔记本电脑如何禁用无线网络 电脑无线网卡禁用如何开启教程
  2. 【补充】科研工作 “查阅论文” 时的一些注意事项和技巧
  3. 2023年PMP考试重要时间节点来了!别说没提醒你!
  4. java中通过split方法使用分号分割,使用正则表达式匹配不识别单引号中的分号
  5. 魔改nnU-Net夺冠!2021 BraTS 脑肿瘤分割竞赛第一名解决方案
  6. kali linux查看系统版本、内核
  7. 血腥大地-第三季(怪物模型制作)-张立铜-专题视频课程
  8. linux下修改docker容器RabbitMQ端口映射(修改RabbitMQ默认端口)
  9. 被薅羊毛损失45万元 App平台该如何避免刷单
  10. c++中extern用法总结