JavaFXアプリケーションにlogo
というsvgグラフィックを表示したいとします。私はWebViewを使用し、WebView経由でグラフィックを表示することに決めました。WebViewでSVGを固定ピクセルの高さに拡大する方法は?
FXMLファイル
[...]
<WebView fx:id="logo" disable="true" maxHeight="100" minHeight="100" minWidth="100" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
[...]
メインコントローラクラス
// [...]
@FXML
WebView logo = new WebView();
// [...]
@Override
public void initialize(URL location, ResourceBundle resources) {
// [...]
String logoUrl = Main.class.getResource("FILENAME.svg").toExternalForm();
logo.getEngine().load(logoUrl);
// [...]
}
グラフィック表示されますが、サイズはオフになっています。私はそれを固定ピクセル高さに自動的に調整したいと思います。私の問題は、正しい要因を見つけるために永遠に息を吹き返すことができ、また、svgを変更するときにも、望ましくない再調整が必要になるため、私は因子、logo.setScaleX(0.8d);
とlogo.setScaleY(0.8d);
でスケールすることしかできません。ですから、私の質問は、WebView(コンテンツ)を幅の縦横比を維持する固定ピクセルの高さ(たとえば100ピクセル)にスケールするにはどうすればいいですか?
'maxWidht'、' maxHeight'などはビューをクロップするだけで、ロゴの半分だけが表示されているようです。 – PendingValue
あなたの 'scaleTo(WebView、Int)'は私のためのトリックをしていないようです。 'Int size'はピクセル単位の高さ/幅ですと思いますか? – PendingValue