Вопрос по javascript, html – Передача изображения из Java-апплета в HTML

1

Я использую подписанный Java-апплет для загрузки изображения из файловой системы пользователя.
Затем я хочу отобразить это изображение на веб-сайте, где запущен апплет.

Я знаю, как общаться между апплетом и JavaScript, но я использовал только строки и числа в качестве параметра.

Как обрабатывать объекты изображений и как отображать их на веб-сайте?

При необходимости я могу преобразовать формат в апплете, чтобы соответствовать JavaScript.

Редактировать:
Я передал объект Image из Java в JavaScript с помощью вызова из JSObject. Chrome игнорирует вызов и сбой Firefox ..

Ваш Ответ

2   ответа
3

передать его в JS как String и использовать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">

НАПРИМЕР. взято изВстроенные изображения с данными URL.

On later JREs (once JAXB was introduced) look to use DatatypeConverter.printBase64Binary(byte[]) something like this:
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());
хм это может сработать. У вас есть опыт работы с большими изображениями (1600x1200)? И это работает с другими форматами, как GIF? Shylux
1) Нет, но если вы не делаете это для анимации, все должно быть хорошо. 2) Я верю в это.
1
я тоже это видел, но хочу отобразить изображение в формате html, не печатая его на апплете Shylux

Похожие вопросы