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 ответ
Самое простое решение, которое приходит мне в голову, - это просто перевести весь ваш контент на холст или в сцену, а затем сделать их снимок.