2008-09-26 24 views

Trả lời

13

ImageIcon thực hiện Serializable và nó có thể được sử dụng để quấn một lớp Image

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ImageIcon.html

+1

Chỉ cần lưu ý: Cảnh báo: Các đối tượng được tuần tự hóa của lớp này sẽ không tương thích với các bản phát hành Swing trong tương lai. – McDowell

+0

tôi đã cố gắng .... nhưng đã gặp lỗi .... ngoại lệ lồng nhau là: \t java.io.EOFException xem câu hỏi mà tôi đã đăng ... http://stackoverflow.com/questions/ 11117626/java-rmi-passing-imageicon-objects –

+0

Trong khi giải pháp này hoạt động, nó dường như tạo ra các tệp tuần tự rất lớn. Một công việc xung quanh là để giữ cho các tập tin còn nguyên vẹn trên đĩa và lưu một tham chiếu, sao chép hình ảnh đến một vị trí liên quan đến tập tin được tuần tự hóa. – psycotik

0

Tôi không biết điều đó. Tôi tin rằng bạn cần phải viết serializer của riêng bạn để tiết kiệm cơ bản các giá trị chiều rộng, chiều cao và pixel ... Hoặc viết nó ra luồng dưới dạng PNG hoặc một cái gì đó

2

javax.swing.ImageIcon, như một phần của Swing, không đảm bảo để có hình thức tuần tự tương thích giữa các phiên bản. Tuy nhiên, bạn có thể ăn gian và nhìn vào mã readObject và writeObject của nó - tìm chiều rộng và chiều cao, lấy các pixel bằng PixelGrabber. Tôi không hoàn toàn chắc chắn rằng bao gồm các mô hình màu sắc chính xác. Cách thay thế rõ ràng là viết một định dạng hình ảnh thực với javax.imageio.

Các vấn đề liên quan