ImageIO读取是否意味着反走样缩放?

3
我已经用ImageIO自己的实现替换了Java内部的ImageFetcher。我们软件中一些使用这些图片的图像渲染器现在绘制的是抗锯齿缩放的图像,而不是非抗锯齿的。唯一的变化是图像的来源,现在是BufferedImages而不是Toolkit-Images。
现在的问题是,区别在哪里?是哪个属性导致图像被缩放后出现抗锯齿?我之前一直认为抗锯齿键值仅取决于我绘制的图形 - 但这显然是错误的。
顺便说一句:不幸的是,我无法更改渲染器。

你能否提供有关图像渲染器运行的不同平台和观察到的行为的详细信息?这可能有助于发现问题所在。例如,Mac的Java2d实现依赖于Quartz 2d,这可能会导致与Sun的实现显著差异。 - Ichorus
2个回答

2
如果ImageIO.read进行任何抗锯齿处理,那么这很可能是特定于平台的问题,正如@Ichorus所指出的,因为ImageIO.read没有指定缩放或抗锯齿的预期行为。
您可以尝试调整Graphics2D上下文的呈现提示,然后再发出g.drawImage或类似命令。 http://bit.ly/7b6lvg <-- Java Sun关于Graphics2D.setRenderingHint的文档。

0

好吧,毕竟有一个重要的区别:BufferedImages是RenderedImages,而ToolkitImages不是。这可能会在某些情况下导致不一致的行为,但似乎并不是Java的普遍问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接