即使对象是ImageView,也可以使用class-Image方法

时间:2017-05-10 09:50:52

标签: java network-programming javafx-8

我正在使用JavaFx编写JAVA程序。有两个程序。每个程序的职责是服务器和客户端。客户端将图像发送到服务器。我使用ImageView类来处理图像。为了将图像发送到服务器,我想我将创建一个int的二维数组,并将图像的每个像素存储在数组中,以便通过套接字发送它。 然而 ImageView类没有处理像素的方法。我发现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. https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/package-tree.html

1 个答案:

答案 0 :(得分:0)

要发送和接收class PlistEditor: NSObject, NSOutlineViewDelegate, NSOutlineViewDataSource, NSTextFieldDelegate, NSSearchFieldDelegate { var searchField : NSSearchField? // more code.. init(tabItem: NSTabViewItem, plistPath: String?) { // more code.. let sf = NSSearchField(frame: NSMakeRect(80, 0, 80, 22)) self.searchField? = sf // more code.. super.init() // more code.. if #available(OSX 10.11, *) { self.searchField?.delegate = self } else { // Fallback on earlier versions } // more code } 对象,您可以通过Image BufferedImage对象对其进行序列化: https://docs.oracle.com/javafx/2/api/javafx/embed/swing/SwingFXUtils.html

您还可以将其写入图像文件,然后将文件发送到服务器,具体取决于您必须发送的图像数量。

  

错误:找不到符号                   像素[i] [j] = sentObject.getPixelReader()的getColor(I,J)。                                         ^     符号:方法getPixelReader()     location:类型为ImageView的变量sentObject

在您的示例中,我不了解如何从引用JavaDoc的javafx.embed.swing.SwingFXUtils获取PixelReader对象: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html