JavaFX - конвертировать группу изображений в изображение

Мне пришлось преобразовать текст в изображение, что мне удалось сделать с.awt, это немного чудовищно, но это может сделать пока, если у вас есть решение для преобразования текста в изображение (в javafx) с альфа-фоном и Чтобы настроить размер изображения автоматически в соответствии с длиной текста также очень ценится.

Мой актуальный вопрос: у меня есть два изображения: одно - от преобразования текста до изображения, а другое - от персонажа; мне нужно преобразовать / объединить оба изображения в одно, а текст должен находиться в середине изображения персонажа (вперед).

Что я сделал до сих пор:

 private Image textToImage(String text) {
    Label label = new Label(text);

    // label.setPrefSize(100, 100);
    label.setStyle("-fx-fill: brown; -fx-font-size: 1.5em");
    label.setWrapText(true);
    Scene scene = new Scene(new Group(label));
    WritableImage img = new WritableImage(70, 70);
    scene.snapshot(img);
    return img;
}

public Group test() {

    // The character
    ImageView img2 = new ImageView(secondImg());
    img2.setBlendMode(BlendMode.MULTIPLY);

    // The text
    ImageView img1 = new ImageView(textToImage("word"));
    img1.setLayoutX(img2.getImage().getWidth() / 2);
    img1.setLayoutY(img2.getImage().getHeight() / 2);

    Group g = new Group(img1, img2);
    g.setLayoutX(100);
    g.setLayoutY(100);

    return g;
}

Я получаю это: тест

Теперь я хотел бы как-то преобразовать группу изображений в один образ. Зачем? Потому что символьный объект, который я использую в конструкторе:

this.setImage(--the two merged images--)

Заранее спасибо!

1 ответ

Самое простое решение, которое приходит мне в голову, - это просто перевести весь ваш контент на холст или в сцену, а затем сделать их снимок.

Другие вопросы по тегам