In JavaFX 2.2 ImageView
è sempre possibile eseguire un livellamento indipendentemente dall'indicazione smooth fornita allo ImageView
.
(Basato su test utilizzando Java 7u15 e Windows 7 con una scheda grafica ATI HD4600).
forse è un bug che ImageView
sarà sempre lisciare il Image
, ma la documentazione in realtà non specificano esattamente cosa lisciatura fa o non fa, quindi è difficile dire quale sia la sua vera intenzione è. Si consiglia di inviare un riferimento a questa domanda allo openjfx-dev mailing list o registrare un problema nello JavaFX issue tracker per ottenere un parere più esperto da uno sviluppatore.
ho provato un paio di metodi diversi per ridimensionare l'immagine:
- Scala nella Image constructor.
- Scala in
ImageView
con fitWidth/fitHeight.
- Scala utilizzando le proprietà scaleX/scaleY su un
ImageView
.
- Scala campionando
Image
con un PixelReader e creando una nuova immagine con un PixelWriter.
ho scoperto che i metodi 1 & 4 comportato un immagine nitida pixel come si desidera e 2 & 3 ha comportato un'immagine sfocata alias.
Sample code per generare l'uscita di cui sopra.
aggiornamento con le idee su l'implementazione del proprio filtro immagine
Un Effetto JavaFX non è lo stesso del filtro utilizzato per le routine di caricamento delle immagini, anche se un effetto a filtrare l'immagine potrebbe essere creato. In JavaFX 2.2 API documentate pubblicamente per supportare la creazione di effetti personalizzati, quindi la creazione di un effetto personalizzato potrebbe risultare difficile.
Il native code for image support è stato aperto di recente come parte del openjfx project, quindi è possibile vedere che per vedere come il filtro è attualmente implementato.
Si consiglia inoltre di archiviare un feature request against the JavaFX runtime project in "consentirci di creare i propri filtri 2D".
Si può provare Canvas per ottenere il massimo controllo. –
Purtroppo non penso che ci sia un modo per farlo anche su una tela. Quello che devono realmente fare è permetterci di creare i nostri filtri 2D (suppongo che siano chiamati "Effetti" in JavaFX). – ajselvig
Aggiornato la mia risposta con idee sull'implementazione del proprio filtro immagine. – jewelsea