Monday, 20 October 2008

How to load images from URI into a .NET image object?

In one of my recent projects, I was working with IP cameras, I need to take some pictures from the camera and do some processing on it.

The first step, was to retrieve the image from camera into
Image
object. So that it can be displayed or do some processing on it.

Some of the IP cameras have an interface to acquire images or streams. One of the easiest interfaces is giving some steel JPEG images. For example via a simple HTTP request (e.g. http://webcam.mmhk.cz/axis-cgi/jpg/image.cgi) we have an JPEG image.

Here is code snippet to acquire an image from a URI and display in a PictureBox.


//uri resource
Uri uri = new Uri(
"http://webcam.mmhk.cz/axis-cgi/jpg/image.cgi");

//create a stream using a http web request
System.IO.Stream s =
System.Net.HttpWebRequest.Create(uri)
.GetResponse().GetResponseStream();

//create an image object from stream
Image img = Image.FromStream(s);

//display image in a picture box
this.pictureBox1.Image = img;


Simple and easy!