2012-07-04 1 views
0

Есть 2 приложения. Одно приложение действует как сервер и непрерывно отправляет экранный снимок рабочего стола с помощью следующего кода.Как читать PNG-изображения из входного потока в java

Robot robot=new Robot(); 
OutputStream os; 
BufferedImage image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); 
ImageIO.write(image, "png", os); 

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

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

Thanks & С уважением Мини.

+0

есть 'ImageIO.read (InpusTream)' too;), вы можете написать (как и вы) и читать ... –

+0

http://stackoverflow.com/a/5312288/561543 – HerrHo

+0

есть ли способ прочитать заголовок png-изображения без использования пакета java.awt. * И javax.imageIo. *? – mini

ответ

2

В приложении клиент, прочитайте InputStream с помощью метода Socket.getInputStream().

BufferedInputStream in = new BufferedInputStream(socket.getInputStream()); 
BufferedImage image = ImageIO.read(in); 
+0

Здесь я не использую пакет java.awt – mini

+0

Поскольку 'ImageIO' будет обертывать поток в' ImageInputStream', я сомневаюсь, что добавленный 'BufferedInputStream' будет очень полезен. – MvG

+0

Тема приложения висит на этой строке BufferedInputStream in = new BufferedInputStream (socket.getInputStream()); Так как сервер постоянно отправляет imagestream клиенту. – mini

0

Android SDK не поддерживает метод ImageIO.read(). Даже если вы можете скомпилировать код, ваш андроид приложение будет получить разбился, и есть ошибка об отсутствующих библиотеках, как это:

не смог найти способ javax.imageio.imageio.read

Что я предлагаю используя битмаппинг вместо этого ...