当前位置: 首页 > 面试题库 >

将图像从Java Applet传递到HTML

申奇希
2023-03-14
问题内容

我正在使用签名的Java小程序从用户的文件系统加载图像。
然后,我想在运行小程序的网站中显示此图像。

我知道如何在applet和JavaScript之间进行通信,但是我只使用字符串和数字作为参数。

如何处理图像对象,如何在网站上显示它们?

如果需要,我可以在applet中转换格式以匹配JavaScript。

编辑:
我通过JSObject的调用将Image对象从Java传递给了javascript。Chrome会忽略该呼叫,而Firefox崩溃。


问题答案:

您可以将图像编码为Base 64,将其作为字符串传递给JS,然后使用data:image/gif;表单URL在网页中显示。您需要“滚动自己的” base 64编码器或找到一个API,因为J2SE没有用于转换的内置方法。1个

HTML中可能看起来像这样。

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" 
width="16" height="14" alt="embedded folder icon">

EG取自带有数据URL的嵌入式图像。

在以后的JRE(一旦引入JAXB)上,请使用DatatypeConverter.printBase64Binary(byte[])如下所示的内容:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
    ImageIO.write(image, "png", baos);
} catch (IOException e) {
    showError(e);
    e.printStackTrace();
}
String imageString = "data:image/png;base64," +
    DatatypeConverter.printBase64Binary(baos.toByteArray());


 类似资料:
  • 我正在从我的数据库中调用一个产品图像url,在前端页面中,我有一些css对页面上的图像进行样式化。但是,我需要将产品图像的url传递到css,它指定了图像的url... 我的CSS: 显示背景图像的产品页面 如果将product-image放在div中,它将呈现产品图像。如何将此url传递到CSS中?所以没有-> -> 我将有 这可能吗?

  • 此方法接收所需的图形类型、要工作的文件和要绘制的轴

  • 我有一个简单的ImageView,当我点击它时,相机出现并请求一张照片,你拍了照片,ImageView变成了照片,像这样的东西: 相机请求后,图片被加载到Imageviewer中,然后我尝试使用以下方式将其上载到Firebase: 那里有动物。getPictureID它只是以前给定的ID。现在的问题是,在putFile()处,它不断返回FileNotFoundException。 同时,如果您知道

  • Activity-2(将所选图像设置为屏幕背景图像的活动)

  • 问题内容: 我正在使用flask,并尝试使用快速入门教程(仅在我的计算机(本地服务器)上运行)做一些非常简单的事情。我制作了一个简单的上传表单,可以成功上传图像文件。然后,我想将此图像作为变量传递给,以在页面内显示。该文件显示正常,但图像始终为。我尝试了许多不同的方法,但是我感觉自己做的事情有点错误。 这是template.html: 如何将上传的图像文件传递到,template.html以便正确

  • 我要迁移一个JavaApplet通过JNLP启动,作为一个Java的Web Start应用程序,并遇到一些麻烦/误解... 我得到的资源之一是这样的:6迁移JavaAppletJavaWeb Start和JNLP: 让我们开始吧,但是: 目前,该应用程序是一个小程序(),过去是通过将小程序标记嵌入到HTML中来启动的,小程序标记指的是JNLP。 现在,由于所有浏览器都放弃了对小程序的支持,我应该将