我试图将屏幕截图输出作为base64编码的字符串,但没有得到很远.到目前为止,我的代码使用的是Base64库(http://iharder.sourceforge.net/current/java/base64/):
Robot robot = new Robot();
Rectangle r = new Rectangle( Toolkit.getDefaultToolkit().getScreenSize() );
BufferedImage bi = robot.createScreenCapture(r);
ByteArrayOutputStream os = new ByteArrayOutputStream();
OutputStream b64 = new Base64.OutputStream(os);
ImageIO.write(bi, "png", os);
ByteArrayOutputStream out = new ByteArrayOutputStream();
out.writeTo(b64);
String result = out.toString("UTF-8");
Run Code Online (Sandbox Code Playgroud)
每次我运行它,"结果"总是一个空字符串,但我不明白为什么.有任何想法吗?
注意:我不想将png写入磁盘上的文件.