Сохранить изображение в файл в апплете? - PullRequest
3 голосов
/ 17 ноября 2010

Так вот, я пытаюсь создать апплет для веб-игры, чтобы производить «нестандартные» аватары, этот аватар для своего рода армии страны, поэтому аватар должен отображаться на изображении выбора user, и рамка на картинке, представляющая квад, к которому принадлежит пользователь.

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

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

Ответы [ 5 ]

3 голосов
/ 17 ноября 2010

Цифровая подпись кода не требуется для апплета, развернутого с использованием архитектуры JRE Plug-In 2 (PI2 - 1.6.0_10 +). В PI2 JRE встроенный апплет может получить доступ ко всем службам, обычно доступным только для приложений Java Web Start.

Сервисами, представляющими интерес для этого апплета, будут FileOpenService (FOS) и PersistenceService (PS). FOS может использоваться, чтобы позволить пользователю перейти к объекту File (или, скорее, к FileContents) и получить от него потоки. Как только пользователь доволен обрезанным изображением, сохраните его в PS для последующего извлечения (используя ImageIO, как уже упоминалось).

3 голосов
/ 17 ноября 2010

Используйте JFileChooser#showSaveDialog(), чтобы попросить пользователя выбрать / указать файл для сохранения, а затем используйте ImageIO#write(), чтобы записать BufferedImage в файл.

JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
    ImageIO.write(bufferedImage, "JPEG", fileChooser.getSelectedFile());
} else {
    // User pressed cancel.
}

Однако апплет должен быть подписан, чтобы не допустить, чтобы конечный пользователь испугался предупреждений безопасности.

1 голос
/ 21 марта 2014

здесь приведен код блокнота, в котором вы можете сохранить содержимое, а также, если вы конвертируете текст в изображение.

0 голосов
/ 21 марта 2014

Программа для создания блокнота, которую я разместил чуть выше этого поста, выдает загрузочное изображение любого типа, а также сохраняет изображение любого типа ....

чтобы вы могли использовать один и тот же код для загрузки и сохранения изображения

0 голосов
/ 17 ноября 2010

Я думаю, что я был бы склонен взаимодействовать Java с Javascript на той же странице, и дать кнопку «экспорта», которая сериализует его в PNG локально и предлагает его для загрузки (должно быть возможно все без необходимости пользователяобновить страницу или бездельничать).В этом предыдущем вопросе есть несколько интересных комментариев: Java-апплет - сохранение изображения в формате png

...