2017-05-10 3 views
0

JavaFxを使用してJavaプログラムを作成しています。 2つのプログラムがあります。各プログラムの義務は、サーバーとクライアントです。クライアントはイメージをサーバーに送信します。私はImageViewクラスを使ってイメージを扱いました。イメージをサーバーに送るには、intの2次元配列を作成し、イメージの各ピクセルを配列に格納して、ソケットを通して送信すると思います。 ,ImageViewクラスには、ピクセルを処理するメソッドがありません。私はImageクラスが持っていることがわかりました。私はクラスを変更したくありません。だから誰も問題に対処する方法を知っている。また、以下の写真は、私が書いたものである:オブジェクトがImageViewであってもclass-Imageメソッドを使用できますか?

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(); 
     } 
    } 

しかし、それはエラーを得た:

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

は、階層である[1]:

enter image description here

リファレンス

  1. 0あなたはjavafx.embed.swing.SwingFXUtilsBufferedImageオブジェクトを通してそれをシリアル化することができ、Imageオブジェクトを送信および受信する
+0

ちょうど 'sentObject.getImage()を使用getPixelReader(... ) ' –

+0

James_Dありがとうございます。それは修正されました。 – Hajime

答えて

0

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

ます。また、画像ファイルに書き込むし、サーバーにファイルを送信することができます何枚の画像を送信するかによって異なります。あなたの例では

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

関連する問題