Back Home Table of Contents

Getting Started

Welcome to the world of developing filters for NPS Image Editor!

Install prerequisites

Filters using the "Pyrite" extension model for NPS 4.x target .NET 8. The recommended development environment for this is Visual Studio and you can download a free Community Edition from Microsoft. You can use other development environments or the dotnet command line if you prefer; however this tutorial will assume the use of Visual Studio.

To test and debug your filters, you must also have NPS Image Editor installed (which you probably do already). Install the latest version normally, or download the standalone version if you don't want to actually install the latest version yet.

Download the sample code

A set of sample filters is available for you to download here. Start by downloading the file and extracting it.

The sample code includes everything you need to create functional filters and includes some documentation within the comments. The SimpleSample is written in C# and the FormsUISample and FullyCustomSample are written in VB.NET.

Want to develop filters for NPS 3.x or NPS Image Editor for Legacy Systems?
These use a different structure (the "Obsidian Extension Model") so you will need to download a different set of samples.

Run the sample code

Testing a filter requires running it in NPS Image Editor. Thankfully Visual Studio provides a very easy way for us to do it, and the sample already points to the installed version of NPS Image Editor by default.

If you need to change the NPS path or accidentally cleared the settings, you simply need to run NPS.exe with the /debugextension=<path> command line parameter, where path points to the folder containing DLL files.

If you'd like to debug loading and processing of the extension during startup, add the /debug argument to the command line as well to show the debug console during load.

And finally, you can configure more debugging options in the NPS Options dialog to provide even more tools to help debug the extension.

Next steps

Now that you have the samples running, you can customize them to your needs. Continue on to Structure of a Filter or Creating your UI for more information about how they work!