views:

157

answers:

2

Can I easily use plug-ins made for Paint.NET in my own C# application (assuming that I comply with the plug-in licensing)?

My goal is to automate certain effects and it seems that there are quite a few for Paint.NET.

A: 

If you have any .NET assembly, you can use it in your code as long as you use it correctly.

In your case:

1- Are you sure you will implement all the interface with the plug-in correctly (your code will behave as if it is Paint.NET)?

2- Are you sure the plug-in does not depend on Paint.NET itself in doing its job?

3- Are you sure all pubic interfaces of the plug-in does not depend on each other (I mean you need not to call 2 public methods consecutively to perform a single functionality)?

If this plug-in is not obfuscated, you can reverse its code with Reflector and play with the code as you like.

Sameh Serag
Thanks for your response Samesh. I'm mainly looking for the "easily" part (i.e. can I just pass a bitmap to one of the plug-ins). So far it looks like I would need to implement a "surface" object.
Jon Kragh
+1  A: 

Paint.NET was previously open source. I did a little Googling and I found the last open source version over here: http://d.freewareshare.net/938276

What you can do is take code from Paint.NET and use it in your project (eg. the stuff that plugins interface with). I believe Paint.NET 3.36 is licensed under some kind of super permissive open license, so even if your code is commercial in nature it shouldn't be a problem.

joemoe