2017-02-12 22 views
0

JavaFXで構築されたデスクトップアプリケーションで使用される約100個のjpeg & pngカラー画像があります。ウィンドウサイズを変更すると、画像が伸びてぼやけてしまいます。品質を損なうことなく動的にサイズを変更できるフォーマットで再製作します。これを行うには、どのような画像形式または手順を使用する必要がありますか?JavaFXでサイズ変更可能な画像フォーマット

現在、各画像はImageViewの中で、単純で、次のようにサイズを変更し、私は他の提案に開いている:あなたは、それはそれは取得せずにいるよりも大きくなるために画像のサイズを変更することはできません

if(isSmall){ 
    Rectangle2D visualBounds = Screen.getPrimary().getVisualBounds(); 
    double sh = visualBounds.getHeight(); 
    Scale scale = new Scale(sh, sh, 0, 0); 
    root.getTransforms().setAll(scale); 
} 

答えて

1

すでに言及したように、SVGはおそらくあなたのために行く方法です。 JavaFXはSVGを直接サポートしていませんが、ここでサポートを見つけることができます javafxsvgここではsvg-to-fxml-converterです。

+0

ありがとうございます。このライブラリを使用するか、Java 9がマルチ解像度イメージを提供するのを待ちます。 – corpico

0

最も一般的なフォーマットではぼやけています。代わりに、あなたのイメージが十分に大きいので、それらを縮小する必要があることを確認してください。

フラクタル圧縮を使用していたことがこれまでに聞いた唯一のフォーマットですが、AFAIKは一般的ではありません。

+0

JavaFXでイメージのサイズを変更できないのですか?品質を損なうことなく拡大することができる画像フォーマット(例えば、ベクトルグラフィックス)がある。私は他の人が私の状況で何をするのか知りたい。 – corpico

+0

確かに、ベクトルはサイズを変更できますが、JPEGとPNGに言及しました。 SVGファイルを試してみたいと思うかもしれません。 – john16384

+0

私は明確にするべきです。私は全てのグラフィックスを新しいフォーマットで作り直したいと思っていますし、提案を探している/彼らがJavaFXで動作することを確認したいと思っています。 – corpico