0

在 grepcode 中循环运行,试图找到如何以亚像素精度绘制旋转图像的来源。我对drawImage(Image img, AffineTransform xform, ImageObserver obs)处理旋转但缺乏实现细节的方法特别感兴趣。

旋转很少是从整数 (i,j) 到整数 (u,v) 的映射,因此在某个中间级别会创建旋转图像的子像素视图。这不是通过任何 API(我知道的)向我们公开的,所以我无法检查它,我们只得到了 imageraster。那么当像素坐标为整数时,graphics2d 是如何处理亚像素绘制的呢?

4

1 回答 1

1

没有单一的实现,实际上没有关于如何实现的规范。Oracle JRE 在 sun.java2d.SunGraphics2D 中实现了 Graphics2D(Oracle JDK 中没有提供其源代码)。

而且这种实现可能只是底层操作系统图形系统的一个外观,它反过来可能会将大部分工作进一步委托给图形驱动程序。在某些时候,实现肯定会包含特定于平台的代码。我建议您查看 OpenJDK 源代码以获取一个实现示例:http: //openjdk.java.net/groups/2d/

于 2013-10-09T18:33:54.117 回答