Domanda

Ho sostituito l'ImageFetcher interna Java con una propria implementazione utilizzando ImageIO. Alcuni renderer di immagine del nostro software, che utilizzano queste immagini, ora disegnano immagini scalate anti-alias, invece di non anti-aliasing. L'unico cambiamento è l'origine dell'immagine, che sono ora BufferedImages invece di Toolkit-Images.

La domanda ora è, dov'è la differenza? Quali proprietà causa le immagini in scala anti-aliasing? Ho sempre pensato che la chiave anti-alias dipende solo dalla grafica che dipingo su -. Ma questo è ovviamente sbagliato

A proposito:. Purtroppo non posso cambiare i renderer

È stato utile?

Soluzione 2

Ok, dopo tutto quello che c'è una differenza importante: BufferedImages sono RenderedImages, ToolkitImages non lo sono. Questo può causare un comportamento incoerente, in alcuni casi, ma non sembra essere un problema di Java in generale.

Altri suggerimenti

Se ImageIO.read fa alcun anti-aliasing è probabilmente un problema specifico per la piattaforma, come sottolinea @Ichorus, dal momento che ImageIO.read non specifica nulla di comportamento previsto per il ridimensionamento o anti-aliasing.

Cosa si può provare a giocherellare con i vostri suggerimenti è di rendering per il contesto Graphics2D prima di emettere g.drawImage o simili.

http://bit.ly/7b6lvg <- documentazione Sun Java sul Graphics2D.setRenderingHint

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top