Question

ObjectStreams -- Images

Asked by: cmg05

I have writen a server, client program which sends objects.  It passes Strings OK but if you try and pump an Image through as an object it comes up with a NotSerializable exception.

How can I make my image serialisable!!  Or how else can I send My image.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2000-05-12 at 03:33:40ID10347978
Tags

objectstreams

Topic

Java Programming Language

Participating Experts
7
Points
100
Comments
16

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. to  get an image
    I have a Window which i created using Frame class.What i want is.I want to load an image on this window.I can do it with Graphic's drawImage().Here we have to pass an Image object as arguement.But to get an image object we have to use getImage of Applet.I created an applet Ob...
  2. Passing on an image as a parameter for background image…
    Scenario: I have a page that preloads some images for use as background image on next page. The next page then randomly pics an image as backround. However the loading of the images takes too long on a modem connection, therefore I'd like the preloading page to pick the image...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: nil_dibPosted on 2000-05-12 at 03:58:32ID: 2804005

what about deriving your own class from java.awt.Image and implement the Serailizable interface ... ?!

class MyImg extends Image implements Serializable
{ ...

nil_dib

 

by: cmg05Posted on 2000-05-12 at 04:14:48ID: 2804056

Why didn't SUN do that!!!!!!

Has anyone else already done this?

Code is what I need!

 

by: ovidiucraciunPosted on 2000-05-12 at 04:35:17ID: 2804098

the serializable interface requires no code, it seems the sun did something till the end for the poor user ;)

 

by: nil_dibPosted on 2000-05-12 at 05:09:51ID: 2804200

mmhh ...
its not that easy...
first of all you have to derive from BufferedImage instead of deriving from Image, cause Image has several abstracts methodes which want to be overridden ... :(

I try to serialize a BufferedImage derived class but its seams that only the Object and not the Image data will be serailized ( saved it as file: only 1kB )

think you have to serialize the image bits seperate...

nil_dib

 

by: Sasha_MapaPosted on 2000-05-12 at 05:20:36ID: 2804247

>> class MyImg extends Image implements Serializable

Hmm, interesting... nil_dib, are you aware you will have to implement all the abstract methods of class Image or your MyImg will have to be abstract too? And even then you will have to direct way of getting a MyImg from an Image object?

>> Why didn't SUN do that!!!!!!
Because class Image is abstract, its actual implementation may or may not allow Serialization.

What I suggest for you to use is create an array from your image using java.awt.image.PixelGrabber and write the array instead of the Image object...

 

by: nil_dibPosted on 2000-05-12 at 05:31:17ID: 2804287

Sasha_Mapa,

> ...implement all the abstract methods
I see I see .. ( comment above )

BTW: when you are familiar with images/graphics take a look at http://www.experts-exchange.com/jsp/qShow.jsp?ta=java&qid=10345853

:)
nil_dib

 

by: heyhey_Posted on 2000-05-12 at 06:12:47ID: 2804451

the only solution is to use PixelGrabber to extract raw color information and MemoryImageSource to recreate the image on the remote computer. the 'standard Image object' uses a lot of native resources, so you just can't serialize it directly.

 

by: ravindra76Posted on 2000-05-12 at 06:45:53ID: 2804614

Try to pass image using sockets

 

by: jaki_77Posted on 2000-05-12 at 06:58:00ID: 2804679

It is very easy when u use Sockets

 

by: Sasha_MapaPosted on 2000-05-12 at 09:02:14ID: 2805206

>> What I suggest for you to use is create an array from your image using java.awt.image.PixelGrabber and write the array instead of the Image object...

 

by: heyhey_Posted on 2000-05-12 at 09:21:52ID: 2805295

>>  ... is create an array from your image ...

the only possible solution.

of course 'It is very easy when u use Sockets' :)

 

by: stalefishPosted on 2000-05-12 at 10:38:27ID: 2805563

First, if you can get the raw bytes for the gif or jpg image, I would suggest send those instead of the bytes created from the PixelGrabber... you will be sending compressed data instead. Otherwise as people suggested above,grabbing the pixels and sending the bytes will work as well.

The other option, if you are using Swing, is to Send an ImageIcon object which is Serializable.

 

by: cmg05Posted on 2000-05-14 at 00:49:39ID: 2807946

Hey guys!  Geez.  You keep mentioning that It would be simplw using sockets?

I have a socket open through which I have piped a Object writer and reader,  how else could I have sent my Image through a socket?

 

by: jaki_77Posted on 2000-05-14 at 22:10:22ID: 2809383

First u open that image file & convert it to byte then transfer that file from one machine to other.

 

by: Sasha_MapaPosted on 2000-05-15 at 03:01:41ID: 2810074

So, cmg05, didn't my suggestion on converting your image to an array of bytes and sending that instead work?

 

by: cmg05Posted on 2000-05-16 at 15:26:26ID: 2815233

Yep it worked eventually.

Took me a while, It was simple to convert to an Integer array,  but then writing the array was hard, I had to create a loop, wich was emensly slow, then I created a vetor and sent the vector which was much quicker, If you were thinking diferrently, (ie a faster method) I would still apreciate your coments.  (ie I still have a loop creating the vector!)

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...