Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno JavaFX - Jak definovat velkost textu v pixelech?

Dobrý den,

Potřebuji definovat velikost textu v pixelech a našel jsem, jak by měl přepočet vypadat

double fontSize= 72.0 * pixelSize / Toolkit.getDefaultToolkit().getScreenResolution();

Bohužel není správný. V příkladu níže mé text cca 95 pixelů

import java.awt.Toolkit;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class TextHeight extends javafx.application.Application  {

    @Override
    public void start(Stage stage) {
        var text = new Text("EXAMPLE");
        var fontSize = 100 * Toolkit.getDefaultToolkit().getScreenResolution() / 72.0;
        text.setFont(Font.loadFont(getClass().getResourceAsStream("GT Pressura Mono Regular Regular.ttf"), fontSize));
        text.setFill(Color.BLUE);
        text.setX(0);
        text.setY(100); 
        var pane = new Pane(text, new Rectangle(500, 0, 10, 100));
        stage.setScene(new Scene(pane, 600, 120));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

[]

Jak to, prosím Vás, správně vypočítat?

Děkuji

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny