如何在Java中将Image对象转换为Base64图像?

时间:2017-02-10 22:42:46

标签: javafx

我有一个使用

创建的Image对象
SnapshotParameters para = new SnapshotParameters();
para.setFill(Color.TRANSPARENT);
Image img = myStackPane.snapshot(para, null);

现在,我想将其转换为Base64图像,将其放入javafx WebView。但我没有找到任何方法来做到这一点。请有人帮帮我吗?

1 个答案:

答案 0 :(得分:3)

Image转换为字节数组,例如this answer。然后使用任何Base64库进行编码。例如Apache Commons

修改

BufferedImage bImage = SwingFXUtils.fromFXImage(logo.getImage(), null);
ByteArrayOutputStream s = new ByteArrayOutputStream();
ImageIO.write(bImage, "png", s);
byte[] res  = s.toByteArray()
s.close();
Base64.encode(res);