Jump to content

What is and isn't possible when writing plugins

Recommended Posts

As-of Paint.NET 3.5.2. This information is not official and some parts may be slightly inaccurate.

Non plugin authors often don't know what is and isn't possible when writing plugins - so hopefully this should be helpful to users wishing to suggest plugins.


  • Effects can only access the current layer.
  • Effects can only access the current image.
  • Effects cannot know or change the blend mode or transparency of a layer.
  • Effects can blend two images using transparency and blend modes.
  • Effects can read the whole layer, even if part of it is selected.
  • If part of a layer is selected, effects can only change that part.
  • Although effects can't be tools or anything, they can show a new dialog to draw on.
  • Effects can save files, but only with the information they have (see above) and they can't make the file they save the current FileName.
  • Effects have no control over the UI other than the ability to add items and categories to the effects and adjustments menus.
  • Effects can not change the shape of the selection or which pixels are selected.
  • Most effects need to be heavily modified before they can run outside Paint.NET.
  • Effects can open files and read them from your harddrive or Internet URL.
  • Effects can read the Windows clipboard.
As of paint.net 4.0.6:
  • Effects can read all of the color values in the current and default palette
  • Effects can add a [?] button to the effect's IndirectUI for adding a help file
FileTypes (Opening)
  • FileTypes don't know the location of the image they're opening.
  • FileTypes can create as many layers as they want and change opacity and blend modes.
  • FileTypes must open some image.
  • FileTypes have no control over the open dialog.
FileTypes (Saving)
  • FileTypes don't know the location of the image they're saving to.
  • FileTypes can read all layers, opacity and blend modes.
  • FileTypes have to save a file unless the user clicks "cancel," even if it is empty - this is frowned upon by Rick.
  • FileTypes have no control over the save dialog.
I hope this helps. Edited by BoltBait
Added 4.0.6 info.
  • Upvote 1
Link to comment
Share on other sites

Nice work. I'll definitely link to this when people post crazy ideas. :-)

A few notes you might want to make, though:

Plugins can put menu options in the Effects and Adjustments menu.

Plugins can not make any changes to the Paint.NET user interface outside their dialog and their menu entry.

Plugins can not run without Paint.NET, although they are able to connect to programs that can (such as Batch Processor and wrappers).

Also, if I'm not mistaken, Rick frowns on saving an empty file with a filetype plugin (such as with the upload-to idea).


The Doctor: There was a goblin, or a trickster, or a warrior... A nameless, terrible thing, soaked in the blood of a billion galaxies. The most feared being in all the cosmos. And nothing could stop it, or hold it, or reason with it. One day it would just drop out of the sky and tear down your world.
Amy: But how did it end up in there?
The Doctor: You know fairy tales. A good wizard tricked it.
River Song: I hate good wizards in fairy tales; they always turn out to be him.

Link to comment
Share on other sites

  • 4 weeks later...

Is it possible to let an effect save one layer and then let the user runs the effect over the next layer and let the effect combine them some how? (not that I actually know how this could be done)


History repeats itself, because nobody was paying attention the first time.

Link to comment
Share on other sites

  • 1 month later...

A couple more comments on file types;

Filetypes have no control over the open/save dialog but can present their own dialog as well.

When opening, a file type plugin can return null or a 0 size document (don't know which is preferred) if the user cancels a custom dialog.

I have not found any good way to cancel a file type save dialog. I always end up with a zero byte file on disk.

The Paint.net jpg dialog allows a cancel, but plugins don't seem to be able to be consistent with this :(

Don't know what plugin to use? Try looking in the plugin gallery

Link to comment
Share on other sites

  • 9 months later...
  • 5 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...