Я пытаюсь визуализировать основные вещи на холсте с его GraphicsContext.Я установил непрозрачный цвет для обводки, но результат на экране слегка прозрачный.
public class Spielwiese extends Application {
public static void main(String... args) {
launch(args);
}
@Override
public void start(Stage window) {
Canvas canvas = new Canvas(800, 600);
window.setScene(new Scene(new Pane(canvas)));
window.show();
GraphicsContext g = canvas.getGraphicsContext2D();
g.setFill(Color.BLACK);
g.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
g.setStroke(Color.WHITE);
g.strokeRect(16, 16, 64, 64);
}
}
Результат:
Я попытался установить прозрачностьСам цвет использовал new Color(1, 1, 1, 1)
, но он имел тот же эффект.
Однако мне удалось получить непрозрачный прямоугольник, вызвав g.strokeRect(16, 16, 64, 64);
несколько раз, чтобы обвести его несколько раз, но мне это не нравится"решение".
Есть ли способ нанести непрозрачную фигуру на холст, не поглаживая его несколько раз?
РЕДАКТИРОВАТЬ: Когда я копирую инструкцию g.strokeRect(16, 16, 64, 64);
и помещаю 4 из них в конец метода запуска вместо одного, я получаю непрозрачный прямоугольник: