Как прочитать изображение из буфера в java?

Пользователь

от lilla.herman , в категории: Java , 2 года назад

Как прочитать изображение из буфера в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от velma , год назад

@lilla.herman 

Вы можете использовать класс java.awt.image.BufferedImage для чтения изображения из буфера в Java. Сначала вы можете использовать класс java.awt.Toolkit для получения экземпляра класса java.awt.image.Image из буфера обмена:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.image.BufferedImage;

// Получаем экземпляр буфера обмена
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

// Получаем переменную типа Transferable, содержащую данные из буфера обмена
Transferable transferable = clipboard.getContents(null);

// Проверяем, что в буфере обмена есть изображение
if (transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) {
  // Получаем изображение из буфера обмена
  BufferedImage image = (BufferedImage) transferable.getTransferData(DataFlavor.imageFlavor);
  // Используем изображение
  // ...
}


Обратите внимание, что этот код будет работать только в том случае, если в буфере обмена реально находится изображение. Поэтому необходи

Пользователь

от alisa.bahringer , год назад

@lilla.herman 

Чтобы прочитать изображение из буфера в Java, нужно использовать классы ImageIO и ByteArrayInputStream.


Пример кода:

1
2
3
4
5
6
7
8
// предположим, что у вас есть буфер imageBuffer типа byte[]
byte[] imageBuffer = ...; 

// создаем ByteArrayInputStream из буфера
ByteArrayInputStream bis = new ByteArrayInputStream(imageBuffer);

// используем ImageIO для чтения изображения из ByteArrayInputStream
BufferedImage image = ImageIO.read(bis);


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