This is a Paint.NET plugin for loading and saving Photoshop .PSD files. It was written by Frank Blumenberg in 2006, and has been maintained by Tao Yue since 2010.
Tao's web page: http://www.taoyue.com/
Simply unzip and move PhotoShop.dll to the "FileTypes" folder in the directory where Paint.NET is installed.
We do not use the Discussion forum on Codeplex, since Paint.NET already has a forum where users gather. There is a thread for this PSD plugin on the official Paint.NET forums: http://forums.getpaint.net/index.php?/topic/18128-photoshop-psd-file-plugin-107-and-later/
To be notified of new releases, you may subscribe either to the discussion thread, or to the relevant RSS feeds on Codeplex.
Bug Reporting and Patches
Bug reports are welcomed. Interchanging PSD files reliably with Adobe Photoshop is the raison d'être
of the plugin. Improving reliability is of much higher priority than features. Please submit bug reports through the Issue Tracker on Codeplex. If you are not an experienced tester/developer, please first read "How to Report Bugs Effectively," by Simon Tatham. http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
Patches and other contributions are also welcomed. I would prefer that you discuss the patch beforehand with me so that I know what's coming. I might also be able to offer advice on the best way to go about making the change with the least disruption to the codebase. Please click the "Contact" link on my Codeplex page: http://www.codeplex.com/site/users/view/taoyue
- Masks (loading only: merged into the layer)
- RLE-compressed files
- The following color modes can be loaded.
- 32 Bit-RGBA
- Gray scale
- Multichannel CMY
- Duotone (as gray scale)
- Only RGBA images are saved out, since Paint.NET uses RGBA internally.
The filetype plugin does not include every feature in the PSD file format. Only those elements in PSD that have counterparts in Paint.NET are implemented. In addition, PSD is a complex and poorly-documented file format. In some cases, Adobe Photoshop will itself violate the format specification. The primary goal is for the plugin to interchange reliably with Photoshop.
In some cases, the plugin runs into unavoidable constraints due to the architecture of Paint.NET. For example, Photoshop allows layers to be smaller than the image. Paint.NET, however, uses layers with the same dimensions as the image. A PSD file with large dimensions and many layers may work fine in Photoshop, but not fit into memory when loaded into Paint.NET. We still do the best that we can -- when saving PSD files, we will crop the layer to the smallest non-transparent rectangle so that the file can be loaded efficiently back into Photoshop.
Layer blend modes
Paint.NET blend modes do not correspond one-to-one with Photoshop blend modes. Currently, the following transformation is used when saving:
| Paint.NET blend mode || Photoshop blend mode key |
| Normal || norm |
| Multiply || mul |
| Additive || norm |
| ColorBurn || div |
| ColorDodge || idiv |
| Overlay || over |
| Difference || diff |
| Lighten || lite |
| Darken || dark |
| Screen || scrn |
The following Paint.NET blend modes are not available in the documented PSD file format, and are saved as normal layers instead:
The following Photoshop blend modes do not exist in Paint.NET, and are loaded as normal layers instead.
Speed of operation
The plugin will never be as fast as Photoshop itself, which can load large chunks of the binary directly into memory as its native representation of the image. In contrast, this PSD plugin must convert to the internal Paint.NET image representation on load, and to the Photoshop file format on save.
To speed up this conversion, the plugin is (mostly) parallelized at a coarse granularity. Thus, loading and saving of large multilayer files will be considerably faster on a multi-core or multi-processor machine. Single-layer images will not benefit as much.
The parallelization is not perfect. The granularity is too coarse, and some sequential segments remain. The intention is to improve the parallelization of the plugin after Paint.NET has been retargeted to the .NET Framework 4.0, which includes the Parallel Extensions for .NET.