gpt4 book ai didi

尝试从图像字节数组生成缩略图时启动 Java 应用程序

转载 作者:行者123 更新时间:2023-12-01 09:35:20 33 4
gpt4 key购买 nike

demo

代码:

public byte[] getThumbnail(byte[] imageBytes) throws Exception {
ByteArrayInputStream inputStream = new ByteArrayInputStream(imageBytes);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Thumbnails.of(inputStream).size(50, 50).keepAspectRatio(true)
.outputFormat("jpg").toOutputStream(outputStream);
byte[] picture = outputStream.toByteArray();
return picture;
}

我正在尝试从上述代码中的图像生成缩略图。

当我调用上述函数时,它会启动一个 Java 图标,如我所附的屏幕截图所示。如果我尝试关闭此图标,我的应用程序就会关闭。

最佳答案

出现停靠图标,因为您使用的某些成像代码在幕后使用 awt。这会触发 Dock 图标出现在 OS X 上。不过,可以隐藏该图标。

跨平台的方法是在“ headless ”模式下运行应用程序,即不使用鼠标、键盘或屏幕反馈(即窗口)进行用户交互。您可以在启动时指定 headless 模式,在命令行上使用系统属性java.awt.headless,如下所示:

java -Djava.awt.headless=true 

或者,在这样的代码中:

System.setProperty("java.awt.headless", "true"); 

对于 OS X(和 Apple JRE),您也可以使用系统属性 apple.awt.UIElement,它只会抑制停靠图标,但否则让您的应用程序使用窗口等:

java -Dapple.awt.UIElement=true

From the documentation :

Suppresses the normal application Dock icon and menu bar from appearing. Only appropriate for background applications which show a tray icon or other alternate user interface for accessing the apps windows. Unlike java.awt.headless=true, this does not suppress windows and dialogs from actually appearing on screen. The default value is false.

关于尝试从图像字节数组生成缩略图时启动 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39021939/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com