В ImageIO read подразумевается сглаженное масштабирование? - PullRequest
3 голосов
/ 17 декабря 2009

Я заменил внутренний ImageFetcher Java собственной реализацией, использующей ImageIO. Некоторые средства визуализации изображений нашего программного обеспечения, которые используют эти изображения, теперь рисуют масштабированные изображения с сглаживанием, а не сглаживание. Единственным изменением является источник изображения, который теперь BufferedImages вместо Toolkit-Images.

Вопрос теперь в том, где разница? Какое свойство заставляет изображения масштабироваться сглаженными? Я всегда думал, что ключ сглаживания зависит ТОЛЬКО от графики, на которой я рисую, но это, очевидно, неправильно.

Кстати: к сожалению, я не могу изменить средства визуализации.

Ответы [ 2 ]

2 голосов
/ 30 декабря 2009

Если ImageIO.read выполняет какое-либо сглаживание, это, скорее всего, проблема, специфичная для платформы, как указывает @Ichorus, поскольку ImageIO.read ничего не указывает на ожидаемое поведение для масштабирования или сглаживания.

То, с чем вы можете попытаться поиграться, - это ваши подсказки по рендерингу для контекста Graphics2D перед выпуском g.drawImage или аналогичного.

http://bit.ly/7b6lvg <- документация Java Sun по Graphics2D.setRenderingHint </p>

0 голосов
/ 17 декабря 2009

Хорошо, в конце концов, есть одно важное отличие: BufferedImages - RenderedImages, ToolkitImages - нет. В некоторых случаях это может привести к противоречивому поведению, но в целом не является проблемой Java.

...