2012-07-04 1 views
0

에서의 InputStream을 형성한다. 하나의 응용 프로그램이 서버 역할을하며 다음 코드를 사용하여 지속적으로 데스크톱의 스크린 샷을 보냅니다.어떻게 읽을 PNG 이미지는이 응용 프로그램이 있습니다 자바

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

두 번째 응용 프로그램은 안드로이드 응용 프로그램으로 클라이언트 응용 프로그램이며 연속적으로 inputstream에서 위의 이미지 스트림을 읽어야합니다.

클라이언트 응용 프로그램의 inputstream에서 png 이미지를 읽을 수 있도록 도와주십시오.

감사 & 감사 미니.

+0

'ImageIO.read (InpusTream) '도 있습니다.) 쓸 수 있고 (할 수있는대로) 쓸 수 있습니다. –

+0

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

+0

java.awt. * 패키지 및 javax.imageIo. *를 사용하지 않고 png 이미지 헤더를 읽을 수있는 방법이 있습니까? – mini

답변

2

클라이언트 응용 프로그램에서 Socket.getInputStream() 메서드를 통해 InputStream을 읽습니다.

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 찾을 수 없습니다 이 대신에 비트 맵을 사용하면 ...

관련 문제