java - 亚像素图形运动

标签 java

我一直在阅读有关亚像素精度的信息,但找不到办法做到这一点。

问:如何移动 BufferedImage隔着 Canvas在非整数速度下没有口吃?

我可以从逻辑上理解这个过程是如何发生的 - 使用抗锯齿稍微调整大小,但我无法在 Java 中重新创建它。 (我有使用 Flash 的经验,默认情况下在大多数视觉对象上都会创建这种效果。)

注意:我已经提交了 question 之前关于这个主题,但在搜索更多信息后,我仍然无法实现我所学到的。

如果不是太麻烦,一个简单的例子将不胜感激。

提前致谢。

编辑:这就是我理解可以实现的效果的方式,尽管它对我不起作用:

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.draw(new Rectangle2D.Double(x, y, width, height));

在 x 和 y 字段的 double 和相似 int 值之间没有明显的变化,当我尝试创建非常慢的移动(例如基于系统时间)时,我看到矩形除了时不时地移动一个像素之外什么都不做.

最佳答案

ButtonUITest 提供效果的并排比较。

image

在许多平台上,可以缩放显示以查看更多内容。在 Mac OS X 上,⌘-⌥-8 有效,/Developer/Applications/Graphics Tools/Pixie.app 也是如此.在其他支持 Java 的平台上, Zoom 是用于检查抗锯齿像素的便捷工具。

关于java - 亚像素图形运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439238/

相关文章:

java - 你如何在 java 中处理 "super"泛型?

java - Ant 无法找到 javac 编译器

java - 如何序列化/反序列化正确的 BST(通用类型) - 实现(单独的类或子类)

java - 使用 Hibernate 执行 "IN"查询

java - junit jar 是 JDK 还是 JRE 的一部分?

java - 连接 MySQL 时通信链路失败

java - 使用 UUID 获取玩家名称

java - 为 JMS 队列创建 JBoss 连接池

java - 我正在尝试使用 MouseMotionListener 将数据从 JTable 打印到命令行

java - Jersey 休息服务器 - 如果值为 0,则排除 json 响应中的整数