我必须将文本转换为图像,我设法使用.awt它有点怪异但它现在可能会做,如果你有一个解决方案将文本转换为图像(在javafx中) alpha背景并自动调整图像大小到文本长度也非常感激。
我的实际问题:我有两个图像,一个是将文本转换为图像,另一个是字符,我需要的是将两个图像转换/合并为一个,文本位于字符的中间&# 39; s图像(到前面)。
到目前为止我做了什么:
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;
}
我明白了:test
现在我想以某种方式将图像组转换回单个图像。为什么?因为我在构造函数中使用的字符对象:
this.setImage(--the two merged images--)
提前致谢!
答案 0 :(得分:0)
我想到的最简单的解决方案是将所有内容渲染到Canvas或Scene中,然后拍摄它们的快照。