3

Java の内部 ImageFetcher を、ImageIO を使用した独自の実装に置き換えました。これらの画像を使用する当社のソフトウェアの一部の画像レンダラーは、アンチエイリアスされていない画像ではなく、アンチエイリアスされたスケーリングされた画像を描画するようになりました。唯一の変更点は、Toolkit-Images ではなく BufferedImages になったイメージのソースです。

問題は、違いはどこにあるのかということです。画像がアンチエイリアスでスケーリングされるのはどのプロパティですか? アンチエイリアス キーは、ペイントするグラフィックのみに依存すると常に考えていましたが、これは明らかに間違っています。

ちなみに、残念ながらレンダラーを変更することはできません。

4

2 に答える 2

2

ImageIO.read がスケーリングまたはアンチエイリアシングの予想される動作について何も指定していないため、ImageIO.read がアンチエイリアシングを行う場合、@Ichorus が指摘するように、プラットフォーム固有の問題である可能性があります。

g.drawImage などを発行する前に、Graphics2D コンテキストのレンダリングのヒントをいじってみてください。

http://bit.ly/7b6lvg <-- Graphics2D.setRenderingHint に関する Java Sun ドキュメント

于 2009-12-30T03:17:25.667 に答える
0

結局のところ、重要な違いが1つあります。BufferedImagesはRenderedImagesですが、ToolkitImagesはそうではありません。これにより、動作に一貫性がなくなる場合がありますが、一般的にはJavaの問題ではないようです。

于 2009-12-17T14:59:40.630 に答える