2017-05-10 5 views
0

JavaFx를 사용하여 Java 프로그램을 작성하고 있습니다. 두 가지 프로그램이 있습니다. 각 프로그램의 임무는 서버 및 클라이언트입니다. 클라이언트는 이미지를 서버로 보냅니다. 나는 ImageView 클래스를 사용하여 이미지를 처리했다. 서버에 이미지를 보내려면 int의 2 차원 배열을 만들고 이미지의 각 픽셀을 배열에 저장하여 소켓을 통해 보내도록하십시오. 그러나, ImageView 클래스에는 픽셀을 처리 할 수있는 메서드가 없습니다. 나는 Image 클래스가 가지고있는 것을 발견했다. 그리고 수업을 바꾸고 싶지 않습니다. 그래서 누구든지이 문제를 어떻게 다룰 지 안다.객체가 ImageView 일지라도 class-Image 메서드를 사용할 수 있습니까?

enter image description here

참조 : 아래

error: cannot find symbol 
       pixel[i][j]=sentObject.getPixelReader().getColor(i,j); 
            ^
    symbol: method getPixelReader() 
    location: variable sentObject of type ImageView 

계층 구조 [1]이다 :

public void sendImage(ImageView sentObject) 
    { 
    int[][] pixel= new int[592][559]; 
    try 
     { 
     for(int j=0;j<559;j++) 
      { 
      for(int i=0;i<592;i++) 
      pixel[i][j]=sentObject.getPixelReader().getColor(i,j); 
      } 
     ObjectOutputStream out = new ObjectOutputStream(client.getOutputStream()); 
     out.writeObject(sentObject); 
     out.flush(); 
     } 
    catch(IOException IO) 
     { 
     IO.printStackTrace(); 
     } 
    } 

그러나,이 오류가 발생했습니다 : 또한, 아래의 그림은 내가 쓴 것입니다

  1. , https://docs.oracle.com/javafx/2/api/javafx/embed/swing/SwingFXUtils.html

    당신은 또한 이미지 파일로 작성하고 다음 서버에 파일을 보낼 수 있습니다 1,233,

+0

그냥'sentObject.getImage() getPixelReader를 (사용 ...)' –

+0

감사합니다 James_D. 고쳐 졌어. – Hajime

답변

0

javafx.embed.swing.SwingFXUtilsBufferedImage 객체를 통해 직렬화 수, 전송 및 Image 객체를 수신하려면 얼마나 많은 이미지를 보내야하는지에 따라 다릅니다. 당신의 예에서

error: cannot find symbol pixel[i][j]=sentObject.getPixelReader().getColor(i,j); ^ symbol: method getPixelReader() location: variable sentObject of type ImageView

, 나는 당신이 JavaDoc을 참조하면, ImageView에서 PixelReader 개체를 얻을 수있는 방법을 이해하지 않습니다. https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html