java - 使用 Java 创建 Adob​​e XD 背景模糊效果

标签 java user-interface javafx blur adobe-xd

我在 Adob​​e XD 中制作了部分应用程序的原型(prototype) Desktop render

现在是时候在 Java 中重新创建毛玻璃效果了。然而,我能得到的最接近的是以下 enter image description here

正如你眼尖的人可能会看到的那样……它看起来很糟糕,一点也不像我的设计。

我通过截取屏幕相关部分的屏幕截图并对图像应用高斯模糊来实现下面的外观。我不知道如何实现上述外观,因此我们将不胜感激。 下面你可以看到我到目前为止的代码

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);

最佳答案

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

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

关于java - 使用 Java 创建 Adob​​e XD 背景模糊效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769157/

相关文章:

java - 为什么重新开放后舞台大小和位置没有保持?

c# - Winforms C# - 主 UI 线程繁忙时显示取消对话框

java - 如何将相同的监听器添加到 NetBeans GUI Builder 中的多个组件

java - float 和非 float 的正则表达式,后跟单词

java - 将字段/变量记录到 Web 应用程序中的文件中

java - 如何测试 Spring 服务 bean 本身具有 Autowiring 依赖项?

JavaFX 获取单个调整大小事件

JavaFx:标签文本不换行

java - 无法在 Raspberry Pi 3(Raspbian) 上运行我的 JavaFX jar 文件

java - 你如何在 Java 中 "empty"一个 StringWriter?