我学会了使用snapshot
从节点中创建Image
对象。拥有多个Group
个包含各种笔画的Group strokes1;
Group strokes2;
WriteableImage im = null;
SnapshotParameters params = new SnapshotParameters();
params.setFill(Color.TRANSPARENT);
params.setViewport(new Rectangle2D(0, 0, 400, 400));
im = strokes1.snapshot(params, im);
im = strokes2.snapshot(params, im);
,我现在正尝试使用两组笔画创建一个图像。为此,我使用以下代码:
snapshot
im
函数的文档说明了
“如果图像非空,则节点将渲染到现有图像中。”
但是,生成的图片strokes2
仅包含{{1}}的笔画。我做错了什么?
答案 0 :(得分:2)
实现目标的一种方法是在要转换的setComposite()的Graphics2D上使用BufferedImage方法,此解决方案将简要讨论here和{{3 }}
这个here提供了一个可运行的完整示例。