C# – Reading PSD file format


I wonder if this is even possible. I have an application that adds a context menu when you right click a file. It all works fine but here is what I'd like to do:

If the file is a PSD then I want the program to extract the image. Is this possible to do without having Photoshop installed?

Basically I want the user to right click and click "image" which would save a .jpg of the file for them.

edit: will be using c#

Best Solution

The ImageMagick libraries (which provide bindings for C#) also support the PSD format. They might be easier to get started with than getting into the Paint.NET code and also come with a quite free (BSD-like) license.

A simple sample (found at http://midimick.com/magicknet/magickDoc.html) using MagickNet would look like this:

using System;

static void Main(string[] args)
    MagicNet.Image img = new MagicNet.Image("file.psd");

Note: MagickNet has moved to http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx

Related Question