

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
Zapomněl jsem tuhle otázku uzavřít. Lze to vyřešit tímto kódem.
Funguje to jednoduše. Vložím písmeno I, které je asi nejideálnější, umístím do rohu, nastavím libovolnou barvu a potom zvětšuji text do té doby, než se 99 a 100 pixel (od shora) bude lišit. Je to sice primitivní, ale funguje to.
I přesto děkuji za snahu.