Jump to content

Customization of Paint.Net for other purposes.


XShocK
 Share

Recommended Posts

Ideally I want my own .Net application to integrate Paint.Net in such a way that I can drag layers/images in and out of the Paint.Net into my own application and in the appliation to do something with these layers/images, like change image's position relative to its layer, replace image with something else, etc....

How exactly p.net will communicate with my program is a different issue of itself. What will be the most realistic if at all? Is direct embedding of whole p.net into my application even remotely possible? Is it possible(and how hard) to cut-away unnecessary capabilities out of p.net for my specific application puspose? Is it possible to create a set of plugins for p.net that can give me control over layers, positions, maybe even add custom control next the layer itself(like an additional context menu item when you right-click on the layer to do something with this layer) ? It is possible to create new document/ create new layers/ draw using custom programmed plugin in p.net? Overall, how customizable is the plugin system of p.net?

I am very new to Paint.Net, 15 minute browsing through the forum didn't answer my questions above. I think for a developer of p.net these questions will be easy to answer since they have first-hand experience writing p.net and know its level of customizability and its pitfalls in design too.

I realize that this is not the primary purpose of Paint.Net to be embeddable into other applications. Maybe someone knows of a software project that may more closely resemble the ideas I have in mind. My application is written in C#, and i would like to stay in the .net/clr world as much as possible.

Link to comment
Share on other sites

The Paint.NET source is freely available on the Download page of http://www.getpaint.net. Since you know precisely what you want/need/can do, I suggest you download it and take a look yourself. :-)

 

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

I already did it before creating this topic. And I have been looking at and digging through the code since then. The thing is, it is 1400000 line of code, and I don't want to spend a week or more trying to know exactly if the whole deal is possible or not, or I should have just given all my hopes up in the begining. Sure, I understand the RTFM(or rather RTFSourcecode) idea, but I am just trying to speed up the process of finding the answer to my questions. After all the questions I asked above can indeed be answered by a p.net developer in much less time than it would take me to understand Paint.Net when I have no clue of how it works.

Link to comment
Share on other sites

Judging by the code, namely the PdnBench, it seems like doing all the things in a plugin should do basically everything that I need. Now, are there any examples of embedding Paint.Net into other applications? Maybe a link on the forum? I found a couple of topic, but nobody made an actual try or he/she never published it.

Link to comment
Share on other sites

I have made some progress. For now my application can start PDN, create and fill in the layers with the artwork that I need, and be in touch with all the changes on the layer (through layer->Surface->Invalidated event).

Now I want to make a layer be read-only. What is the best method of achieving that? I need to not be able to change its name, its content, anything.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...