Я создал штрих-код (d = 26) правый центр холста (300x300) Размер шрифта по умолчанию - 12pt (НЕ PIXCEL) графического контекста. Я хочу написать числа, имеющие одну или две цифры справа от окружности, которую я создал выше. Можете ли вы дать мне математическое выражение, чтобы написать текст справа центра круга. Я также испытываю недостаток в понимании того, как сопоставить 12pt (POINTS) с пикселями. Может ли кто-нибудь помочь мне, пожалуйста?Как поместить некоторый текст в правый центр круга, который был нарисован на холсте javaFX?
Вот мой код:
@Override
public void start(Stage primaryStage) {
Pane root = new Pane();
Scene scene = new Scene(root, 300, 300);
primaryStage.setTitle("My Canvas");
primaryStage.setScene(scene);
primaryStage.show();
Canvas cvs = new Canvas();
cvs.setWidth(300);
cvs.setHeight(300);
cvs.setLayoutX(0);
cvs.setLayoutY(0);
root.getChildren().add(cvs);
GraphicsContext gc = cvs.getGraphicsContext2D();
gc.setFill(Color.BLACK);
gc.setStroke(Color.BLUE);
gc.setLineWidth(2);
// creating circle (diameter = 26) right center of the canvas(300 x 300)
// So, x = (widthOfCanvas-diameter)/2 , y = ((widthOfCanvas-diameter)/2
double d = 26.0d;
double x = (cvs.getWidth() - d)/2;
double y = (cvs.getHeight() - d)/2;
gc.strokeOval(x, y, d, d);
// default font size is 12pt (NOT PIXCEL)
gc.fillText("26", 150, 150); // How can I set this text right center of the circle? Please give me som mathematical expression
// I also don't know relationship betwwen pt and px
// What can I do?
}
Почему бы не использовать «Ярлык» и подходящий макет ('StackPane'), например? –
Да: вам действительно нужен холст? Это проблема макета, которая, как правильно указывает @BoHalim, лучше решается с помощью макета. (Фактически, вы даже можете сделать это только с меткой и некоторыми настройками CSS на ярлыке, нет необходимости в стеке и круге). Если у вас есть * использовать холст, это намного сложнее. –
На самом деле, я создаю какое-то приложение для рисования, и мне нужно выяснить способ частичного числа диаграмм, используя вышеописанные числа. Но мне не удалось сопоставить макет fillText x, y, используя переменные x, y, которые я использовал для круга? Есть ли у вас какие-либо идеи? –