Paint.NET



Paint.NET is a raster graphics editing program for Microsoft Windows, developed on the .NET Framework. Originally created as a Washington State University student project, Paint.NET has evolved from a simple replacement for the Microsoft Paint program, which is included with Windows, into a powerful editor with support for layers, blending, transparency, and plugins. It is often used as a free alternative to Adobe Photoshop.

Overview
Paint.NET is primarily programmed in the C# programming language, with small amounts of C++ used for installation and shell-integration related functionality. Its native image format, File extension|.PDN, is a compressed representation of the application's internal object format, which preserves layering and other information. Excluding the installer, text, and graphics, Paint.NET is released under an MIT-like License. It was initially released as completely open source, but due to complaints by the lead developer about users changing the name of the application and selling it without giving the project credit as required by the license, all resource files (such as interface text and icons), and the installer were made closed-source.

Version 3.36 was initially released as partial open source as described above, but the sources were later removed by the developer. The developer no longer makes the source freely available for download.

History
Paint.NET originated as a computer science senior design project during spring 2004 at Washington State University. Version 1.0 consisted of 36,000 lines of code and was written in fifteen weeks. In contrast, version 3.35 has approximately 162,000 lines of code. The Paint.NET project continued over the summer and into the fall 2004 semester for both the version 1.1 and 2.0 releases.

Development continues with two developers who now work at Microsoft and worked on previous versions of Paint.NET while they were students at WSU. As of May 2006 the program had been downloaded at least 2 million times, at a rate of about 180,000 per month.

Plugins
Paint.NET supports DLL-file plugins, which add image adjustments, effects, and support for additional file types. They can be programmed using any .NET programming language, though they are most commonly written in C#. These are usually created by volunteer coders on the program's discussion board. Though most are simply published via the discussion board, some have been included with a later release of the program. For instance, a DirectDraw Surface file type plugin, (originally by Dean Ashton) and an Ink Sketch and Soften Portrait effect (originally by David Issel) were added to Paint.NET in version 3.10.

Many plugins have been produced; such as Shape3D, which renders a 2D drawing into a 3D shape. Some plugins expand on the functionality that comes with Paint.NET, such as Curves+ and Sharpen+, which extend the included tools Curves and Sharpen, respectively.

Examples of file type plugins include an Animated Cursor and Icon plugin and an Adobe Photoshop file format plugin. Many of these are based on existing open source software, such as a RAW plugin that uses dcraw and a PNG optimization plugin that uses OptiPNG.

Online forum
Paint.NET features an online discussion board (forum), accessible through the program's main page or help menu. The discussion board is where users of the program can get help with bugs, troubleshooting, making an image, image tutorials, user-created plug-ins, and program localization. The forum has over 16,679 registered members and over 229,478 posts; many active members attend to users in need of help, produce plug-ins, tutorials and discuss other Paint.NET references. Additionally, a blog was created for news on updates and regular announcements.

Support for non-Windows operating systems
Paint.NET was originally created for Windows, and has no native support for any other system. In fact, as of version 3.0, support was discontinued for any Windows operating system older than Windows XP. Windows Vista support was added in the same version. With its previous open-source nature, however, the possibility for alternate versions is available. Miguel de Icaza has partially ported Paint.NET to Mono, an open-source implementation of the Common Language Infrastructure on which the .NET framework is based. This allows Paint.NET to be run on Linux and other Mono-supported platforms. Icaza officially started a porting project in May 2007, paint-mono.

Source: Wikipedia