Page 331 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 331

&& (numRead = urlStream.read(imageBytes, offset, imageBytes.length - offset)) >= 0) {
                            offset += numRead;
                        }

                        stringWriter = new StringWriter(128);
                        return imageBytes;  //  받은  이미지를  리턴
                    }

                    @Override
                    public void run() {
                        while (processing && Wtrigger) {
                            try {
                                byte[] imageBytes = retrieveNextImage();  //  리턴  받은  이미지
                                ByteArrayInputStream bais = new ByteArrayInputStream(imageBytes);  //  받은  이미지를  바이트  스트림으
            로  변환
                                BufferedImage image = ImageIO.read(bais);//  이미지파일로  만듬
                                Image im = image.getScaledInstance(1280, 720, Image.SCALE_SMOOTH);  //  이미지파일을  확대
                                jLabel1.setIcon(new ImageIcon(im));  //이미지  파일을  보여줌
                            } catch (SocketTimeoutException e) {
                                e.printStackTrace();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }

                        try {
                            urlStream.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }

                    private int contentLength(String header) {
                        int indexOfContentLength = header.indexOf(CONTENT_LENGTH);
                        int valueStartPos = indexOfContentLength + CONTENT_LENGTH.length();
                        int indexOfEOL = header.indexOf('\n', indexOfContentLength);

                        String lengthValStr = header.substring(valueStartPos, indexOfEOL).trim();
                        int retValue = Integer.parseInt(lengthValStr);

                        return retValue;
                    }//헤더로부터  이미지  크기를  받아옴
                }

            ○  네트워크  통신을  이용한  제어(client)
                    탐사  로봇을  제어하는  client  소스이다.



            import java.awt.AWTException;
            import java.awt.Cursor;
            import java.awt.Image;
            import java.awt.Point;
            import java.awt.Robot;
            import java.awt.Toolkit;
            import java.awt.event.MouseAdapter;
            import java.awt.event.MouseEvent;
            import java.awt.event.MouseWheelEvent;
            import java.awt.image.BufferedImage;
            import java.io.BufferedReader;



                                                         -  324  -
   326   327   328   329   330   331   332   333   334   335   336