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