Ich schreibe ein Java-Programm mit JavaFx. Es gibt zwei Programme. Die Pflicht jedes Programms ist Server und Client. Der Client sendet das Bild an den Server. Ich verwendete ImageView
Klasse, um das Bild zu behandeln. Um das Bild an den Server zu senden, denke ich, ich werde ein zweidimensionales Array von int
erstellen und jedes Pixel des Bildes im Array speichern, so dass ich es über einen Sockel senden werde. Allerdings, ImageView
Klasse hat keine Methode, um das Pixel zu behandeln. Ich fand, dass Image
Klasse es hat. Und ich möchte die Klasse nicht wechseln. Also weiß jemand, wie man mit dem Problem umgeht. Zusätzlich unten ein Bild ist, was ich schrieb:Ist es möglich, die Klasse-Image-Methode verwenden, auch das Objekt ist ImageView
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();
}
}
jedoch einen Fehler bekam:
error: cannot find symbol
pixel[i][j]=sentObject.getPixelReader().getColor(i,j);
^
symbol: method getPixelReader()
location: variable sentObject of type ImageView
Unten ist die Hierarchie [1]:
Referenz
Nur 'sentObject.getImage() verwenden getPixelReader (....) ' –
Danke James_D. Es wurde behoben. – Hajime