0 out of 3 rated this helpful - Rate this topic

Image.FromStream Method (Stream)

Creates an Image from the specified data stream.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)
public static Image FromStream(
	Stream stream
)

Parameters

stream
Type: System.IO.Stream
A Stream that contains the data for this Image.

Return Value

Type: System.Drawing.Image
The Image this method creates.
Exception Condition
ArgumentException

The stream does not have a valid image format

-or-

stream is null.

You must keep the stream open for the lifetime of the Image.

The stream is reset to zero if this method is called successively with the same stream.

Note Note

The Image class does not support alpha transparency in bitmaps. To enable alpha transparency, use PNG images with 32 bits per pixel.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Doesn't work with file streams
Doesn't work with file streams? For example, if you put multiple jpegs into a single file using multiple calls to Image.Save then you can NOT read them back seeking to the start of an image and then call Image.FromStream. If you use a hex editor to cut the relevent section of the file and save as a JPEG then they open in image editors, hence the file itself is correct but Image.FromStream fails.
Doesn't work with RAW rgb data!
If you try making an Image from raw rgb(a) data, you will get "Parameter is not valid" exception. If you are dealing with raw data, try using a bitmap instead:

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

Found out after much time spent on searching the web...
Does it mean that the POSITION is set to zero???
"The stream is reset to zero if this method is called successively with the same stream." 

 I'm confused as to the meaning of this statement. Does it mean that the POSITION is
set to zero .... i.e. the method always reads from the start of the  stream???