我正在使用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]:
参考
答案 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