Oana and Arthur | Our dev blog

PrintScreen in Silverlight

I've wanted to convert rendered XAML content into an image file (PNG is a good start so I chose it for today's post). I took advantage of an open-source, third party library called .NET Image Tools which did a great job encoding PNG files. It can be found @CodePlex, the open-source project hosting space from Microsoft (check it out).

Let's start with the basic idea of this post. You have let's say, a Silverlight Canvas control and you would like to take a snapshot of it, make a print screen but not using external tools yet having it done within your own Silverlight app.

Here's the code:

//Creating a WritableBitmap object in order to use it as the source

//of an Image control

WriteableBitmap writableBitmap = new WriteableBitmap(MyPrintScreenCanvas, null);

BitmapSource bitmapSource = writableBitmap;


//Creating an Image instance which will be encoded later-on

Image image = new Image();

image.Source = bitmapSource;


//Encoding the Image object to a PNG file

//using .NET Image Tools library

ImageTools.IO.Png.PngEncoder pngEncoder =

   new ImageTools.IO.Png.PngEncoder();

MemoryStream ms = new MemoryStream();

ImageTools.Image ITImage = ImageTools.ImageExtensions.ToImage(MyPrintScreenCanvas);

pngEncoder.Encode(ITImage, ms);

Now you have the MemoryStream and you can save it to a file, send it as an email or store it on a server using a WCF or ASMX web service.

Thanks and bye bye, Arthur

Tags: , ,
Categories: .NET | C# | Silverlight
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Microsoft SQL Server 2008 R2

Hi guys, I just took a look for a friend of mine at the new R2 release of the Microsoft SQL Server 2008 Express and I noticed that it allows a max. database size of 10 GB. That's a significant growth from 4 GB in the SQL Server 2008 Express edition. Keep up the good work SQL Server team. I've always loved working with express editions, especially SQL Server Express.

Download link: http://www.microsoft.com/express/downloads/


Tags: ,
Categories: Express Edition | SQL Server
Actions: E-mail | Permalink | Comment RSSRSS comment feed