JavaFX Auto Scale Image View without blurriness










0















I am attempting to automatically scale an image view to the parent when the parent changes size. In the past, I used this solution:



imageView.setPreserveRatio(true);
Pane pane = new Pane();
testGridPane.add(pane, 1, 1);
imageView.fitWidthProperty().bind(pane.widthProperty());
imageView.fitHeightProperty().bind(pane.heightProperty());


from this post:
JFX scale image up and down to parent



This works and scales the image. However, this method has an issue where the image will become pixelated when scaled to certain ratios. These two posts seem to be referring to the issue I'm experiencing:
JavaFX ImageView without any smoothing
In the second post, this seems to be exactly what I'm encountering:
JavaFx Image fit to Pane bad Quality



In that post, the OP mentioned that setting the width instead of using fitwidth looked better. However, I'm not sure how I could implement that in my solution as my image needs to scale with the parent, not just have a size set once.
I've also looked through every other stack overflow post I can find on imageview scaling or imageview pixelated and I've haven't been able to find an answer.



Any help would be greatly appreciated!



Edit: I still have not been able to find a solution to this. The issue is happening when images are scaled down and they are losing quality. This bug report seems to explain the issue:
https://bugs.openjdk.java.net/browse/JDK-8089202










share|improve this question



















  • 1





    What is the default size of your original image?

    – Sai Dandem
    Nov 14 '18 at 5:36











  • This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

    – Itai
    Nov 14 '18 at 9:10











  • One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

    – Sai Dandem
    Nov 14 '18 at 23:38















0















I am attempting to automatically scale an image view to the parent when the parent changes size. In the past, I used this solution:



imageView.setPreserveRatio(true);
Pane pane = new Pane();
testGridPane.add(pane, 1, 1);
imageView.fitWidthProperty().bind(pane.widthProperty());
imageView.fitHeightProperty().bind(pane.heightProperty());


from this post:
JFX scale image up and down to parent



This works and scales the image. However, this method has an issue where the image will become pixelated when scaled to certain ratios. These two posts seem to be referring to the issue I'm experiencing:
JavaFX ImageView without any smoothing
In the second post, this seems to be exactly what I'm encountering:
JavaFx Image fit to Pane bad Quality



In that post, the OP mentioned that setting the width instead of using fitwidth looked better. However, I'm not sure how I could implement that in my solution as my image needs to scale with the parent, not just have a size set once.
I've also looked through every other stack overflow post I can find on imageview scaling or imageview pixelated and I've haven't been able to find an answer.



Any help would be greatly appreciated!



Edit: I still have not been able to find a solution to this. The issue is happening when images are scaled down and they are losing quality. This bug report seems to explain the issue:
https://bugs.openjdk.java.net/browse/JDK-8089202










share|improve this question



















  • 1





    What is the default size of your original image?

    – Sai Dandem
    Nov 14 '18 at 5:36











  • This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

    – Itai
    Nov 14 '18 at 9:10











  • One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

    – Sai Dandem
    Nov 14 '18 at 23:38













0












0








0








I am attempting to automatically scale an image view to the parent when the parent changes size. In the past, I used this solution:



imageView.setPreserveRatio(true);
Pane pane = new Pane();
testGridPane.add(pane, 1, 1);
imageView.fitWidthProperty().bind(pane.widthProperty());
imageView.fitHeightProperty().bind(pane.heightProperty());


from this post:
JFX scale image up and down to parent



This works and scales the image. However, this method has an issue where the image will become pixelated when scaled to certain ratios. These two posts seem to be referring to the issue I'm experiencing:
JavaFX ImageView without any smoothing
In the second post, this seems to be exactly what I'm encountering:
JavaFx Image fit to Pane bad Quality



In that post, the OP mentioned that setting the width instead of using fitwidth looked better. However, I'm not sure how I could implement that in my solution as my image needs to scale with the parent, not just have a size set once.
I've also looked through every other stack overflow post I can find on imageview scaling or imageview pixelated and I've haven't been able to find an answer.



Any help would be greatly appreciated!



Edit: I still have not been able to find a solution to this. The issue is happening when images are scaled down and they are losing quality. This bug report seems to explain the issue:
https://bugs.openjdk.java.net/browse/JDK-8089202










share|improve this question
















I am attempting to automatically scale an image view to the parent when the parent changes size. In the past, I used this solution:



imageView.setPreserveRatio(true);
Pane pane = new Pane();
testGridPane.add(pane, 1, 1);
imageView.fitWidthProperty().bind(pane.widthProperty());
imageView.fitHeightProperty().bind(pane.heightProperty());


from this post:
JFX scale image up and down to parent



This works and scales the image. However, this method has an issue where the image will become pixelated when scaled to certain ratios. These two posts seem to be referring to the issue I'm experiencing:
JavaFX ImageView without any smoothing
In the second post, this seems to be exactly what I'm encountering:
JavaFx Image fit to Pane bad Quality



In that post, the OP mentioned that setting the width instead of using fitwidth looked better. However, I'm not sure how I could implement that in my solution as my image needs to scale with the parent, not just have a size set once.
I've also looked through every other stack overflow post I can find on imageview scaling or imageview pixelated and I've haven't been able to find an answer.



Any help would be greatly appreciated!



Edit: I still have not been able to find a solution to this. The issue is happening when images are scaled down and they are losing quality. This bug report seems to explain the issue:
https://bugs.openjdk.java.net/browse/JDK-8089202







java javafx imageview javafx-8 scaling






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 25 '18 at 20:59







Tyler Bench

















asked Nov 14 '18 at 5:32









Tyler BenchTyler Bench

264




264







  • 1





    What is the default size of your original image?

    – Sai Dandem
    Nov 14 '18 at 5:36











  • This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

    – Itai
    Nov 14 '18 at 9:10











  • One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

    – Sai Dandem
    Nov 14 '18 at 23:38












  • 1





    What is the default size of your original image?

    – Sai Dandem
    Nov 14 '18 at 5:36











  • This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

    – Itai
    Nov 14 '18 at 9:10











  • One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

    – Sai Dandem
    Nov 14 '18 at 23:38







1




1





What is the default size of your original image?

– Sai Dandem
Nov 14 '18 at 5:36





What is the default size of your original image?

– Sai Dandem
Nov 14 '18 at 5:36













This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

– Itai
Nov 14 '18 at 9:10





This is possibly related to this bug: bugs.openjdk.java.net/browse/JDK-8211861 Unfortunately, there doesn't seem to be any workaround or a fix in progress...

– Itai
Nov 14 '18 at 9:10













One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

– Sai Dandem
Nov 14 '18 at 23:38





One possible solution is to use high resolution images or atleast the size of your max scale. This way you will not encounter blurriness. If you can use SVG your images, then that should be even more the favorable approach.

– Sai Dandem
Nov 14 '18 at 23:38












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293742%2fjavafx-auto-scale-image-view-without-blurriness%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293742%2fjavafx-auto-scale-image-view-without-blurriness%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

ReactJS Fetched API data displays live - need Data displayed static

政党