Как видно из заголовка, я передаю строку base64 на сервер сокетов.
Проблема в том, что строка base64 слишком велика. (1920x1080 ScreenShot).
Я хочу минимизировать это или найти лучший способ поделиться скриншотами через сокет-сервер.
В настоящее время я делаю это так:
@SneakyThrows
public static void captureToBase64() {
System.setProperty("java.awt.headless", "false");
try {
BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
baos.flush();
byte[] encodeBase64 = Base64.encodeBase64(baos.toByteArray());
String base64Encoded = new String(encodeBase64);
baos.close();
RunningConfigs.base64 = base64Encoded;
} catch (Exception e) {
e.printStackTrace();
}
}