我的代碼從屏幕在Java中,我有最後拍攝的圖像作爲BufferedImage對象可以投它的ImageIcon錯誤從Java發送拍攝的圖像到Android
的問題發送該文件時捕獲圖像到android不能讀取它作爲位圖繪製。任何人都有答案?
代碼發送(JAVA)
BufferedImage image = robot.createScreenCapture(rectangle);
ImageIcon imageIcon = new ImageIcon(image);
//Send captured screen to the server
try {
System.out.println("before sending image");
oos.writeObject(imageIcon);
oos.reset(); //Clear ObjectOutputStream cache
System.out.println("New screenshot sent");
} catch (IOException ex) {
ex.printStackTrace();
}
Android的接收器部分
Thread t= new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
client= sc.accept();
is = client.getInputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BitmapDrawable imageIcon = null;
try {
ois = new ObjectInputStream(is);
imageIcon = (BitmapDrawable) ois.readObject();
//Drawable d = Drawable.createFromStream(is, null);
IV.setImageDrawable(imageIcon);
} catch (OptionalDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("New image recieved");
}
}
我得到它的異常不能施放的ImageIcon或位圖繪製數據的BufferedImage。
是的,但Android中沒有ImageIcon類,我不知道該轉換! – MSaudi 2013-04-28 15:43:40
也許最好開始一個新問題:「我如何將ImageIcon轉換爲Android中的BitmapDrawable?」。關於序列化和投射的東西確實會減損這個主要問題。不幸的是,我主要是一個Java開發人員,並且不太瞭解Android來幫助你。 :( – 2013-04-28 15:52:18