В настоящее время я использую Cobra: Java HTML Renderer & Parser для рендеринга HTML-страницы, которая генерируется динамически на основе выбора пользователя в Java-приложении.
В моем приложении пользователь может выбирать из сотен элементов. Элементы отображаются в виде специальных уникальных цветных символов, и пользователь может выбрать более одного элемента.
Как только несколько элементов выбраны, их письменное описание динамически генерируется и форматируется для включения тегов css2 и html4 и загружается в HTML-панель Cobra для отображения.
Я хочу отобразить изображение символа с письменным описанием элемента в HTMLPanel.
Один из способов сделать это - сохранить BufferedImage в файл, используя ImageIO.write, а затем включить HTML-тег img в мой динамически генерируемый HTML-документ, который загружается в HTMLPanel. К сожалению, это недопустимо, поскольку пользователь может выбрать сотни символов, что в свою очередь приведет к сотням вызовов ImageIO.write и невероятному снижению производительности моего приложения.
Альтернативным способом было бы преобразовать BufferedImage в кодировку Base64, а затем непосредственно поместить кодировку в документ HTML следующим образом
<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
К сожалению, HTMLPanel, похоже, игнорирует схему URI данных.
Кто-нибудь знает решение?