JavaFX uygulamamda logo
adlı bir svg grafiğini görüntülemek istiyorum. WebView kullanmaya karar verdim ve grafiği WebView üzerinden gösterdim.WebGösterimi SVG'yi sabit piksel yüksekliğine göre ölçeklendirmek nasıl?
fxml dosya
[...]
<WebView fx:id="logo" disable="true" maxHeight="100" minHeight="100" minWidth="100" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
[...]
Ana Denetleyicisi sınıfı
// [...]
@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);
// [...]
}
grafik görüntüler, ancak boyut kapalıdır. Ben otomatik olarak genişlik sabit bir piksel yükseklik yapmak istiyorum. Benim sorunum sadece logo.setScaleX(0.8d);
ve logo.setScaleY(0.8d);
, bir faktör tarafından ölçeklendirebilirsiniz, çünkü ben doğru faktörü bulmak için sonsuza kadar keman olurdu, aynı zamanda svg değiştirirken yeniden ayarlanması gerekir, aynı zamanda da istenmeyen. Yani, sorum şu: WebView (içerik), genişlik için en boy oranını koruduğu sabit piksel yüksekliğine (örn. 100 px) nasıl ölçekleyebilirim?
'maxWidht',' maxHeight' vb. Yalnızca görünümü kırp ve görüntünün yalnızca yarısı gösterilir. – PendingValue
'scaleTo (WebView, Int)' sizin için hile yapmak gibi görünmüyordu. Int boyutunun piksel cinsinden yükseklik/genişlik olduğunu mu varsayıyorum? – PendingValue