在Java中创建Adobe XD背景模糊效果

在Java中创建Adobe XD背景模糊效果,java,user-interface,javafx,blur,adobe-xd,Java,User Interface,Javafx,Blur,Adobe Xd,我已经在Adobe XD中原型化了我的部分应用程序 现在是在Java中重现磨砂玻璃效果的时候了。然而,我能得到的最接近的结果是 正如你们中目光敏锐的人可能看到的那样……它看起来很糟糕,一点也不像我的设计 我通过截取屏幕相关部分的屏幕快照并对图像应用高斯模糊来实现下面的效果。我不知道如何实现上述外观,因此任何帮助都将不胜感激。 下面您可以看到我的代码 Robot robot = new Robot(); Toolkit myToolkit = Toolkit.getDefaultToolkit(

我已经在Adobe XD中原型化了我的部分应用程序

现在是在Java中重现磨砂玻璃效果的时候了。然而,我能得到的最接近的结果是

正如你们中目光敏锐的人可能看到的那样……它看起来很糟糕,一点也不像我的设计

我通过截取屏幕相关部分的屏幕快照并对图像应用高斯模糊来实现下面的效果。我不知道如何实现上述外观,因此任何帮助都将不胜感激。 下面您可以看到我的代码

Robot robot = new Robot();

Toolkit myToolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = myToolkit.getScreenSize();

Rectangle screen = new Rectangle(screenSize);

BufferedImage screenBlurImage = robot.createScreenCapture(screen);
//get relevant section
screenBlurImage = screenBlurImage.getSubimage(457,415,1006,107);
//set image
image.setImage(screenBlurImage);
//Apply blur
BoxBlur bb = new BoxBlur();
bb.setWidth(5);
bb.setHeight(5);
bb.setIterations(3);

image.setImage(SwingFXUtils.toFXImage(screenBlurImage, null ));

image.setEffect(bb);

我最终将Adobe XD设计导出为HTML网页,并使用具有透明背景的JavaFX Webview进行渲染,结果证明Adobe XD模糊背景的方式是使用以下CSS选项:

box-shadow: inset 0 0 0 200px rgba(0, 0, 0, 0.5);
filter: blur(13px);

为了获得更好的帮助,请尽快发布一个适当的帖子,说明您的问题