Jump to content
How to Install Plugins ×

Varicose


jchunn

Recommended Posts

MODERATORS NOTE:  this plugin has been superseded by a newer version:

https://forums.getpaint.net/topic/112488-varicose-2-ymd18-02-20/

 

 

Download here

Ok, I have spent some time learning the plugin model to prove that plugins can be written for Paint.Net using Visual Basic.Net. Apparently, they can.

I am posting this here in hopes that some of you "gurus" will play with it and make suggestions. I am no graphic artist... I am a programmer, so if anyone finds this effect the least bit useful, I would LOVE to see any creations that use it.

 

And here is the source (zipped)

PDNPI_IndirectUI.zip

Enjoy,

Jesse Chunn

Edited by toe_head2001

Total hack.

Link to comment
Share on other sites

this is pretty spiffy

sig.jpg

~97% of teens won't stand up for Anything. Put this on your sig if you're one of the 3% who've fallen down trying.

Oh, and there's 3 types of people in this world...

Link to comment
Share on other sites

Ok, I have spent some time learning the plugin model to prove that plugins can be written for Paint.Net using Visual Basic.Net. Apparently, they can.
They can be programmed in pretty much any .NET language. A quick search coulda told you that :P

xZYt6wl.png

ambigram signature by Kemaru

[i write plugins and stuff]

If you like a post, upvote it!

Link to comment
Share on other sites

Ok, I have spent some time learning the plugin model to prove that plugins can be written for Paint.Net using Visual Basic.Net. Apparently, they can.
They can be programmed in pretty much any .NET language. A quick search coulda told you that :P

Yes, and I did do that search, and I did find those comments, and I knew it already, being an avid .net programmer... but Rick and some others had suggested that it "should" work in vb.net, so I set out to prove it... just for kicks. I have not seen any posts or plugins saying it had already been done, but I'm sure I could have missed it.

Regards.

Total hack.

Link to comment
Share on other sites

They can be programmed in pretty much any .NET language. A quick search coulda told you that :P

What? :shock: :shock:

You only say this now???

okay now i'm gonna go crazy, how do you do that? omg i'm gonna start making things :D

Link to comment
Share on other sites

here's an eye I made with it

e.png

sig.jpg

~97% of teens won't stand up for Anything. Put this on your sig if you're one of the 3% who've fallen down trying.

Oh, and there's 3 types of people in this world...

Link to comment
Share on other sites

This should go into the Distort menu, not the Object menu.
You mean Render, don't you? This plugin doesn't distort the existing pixels, it overwrites them with new information.

 

Take responsibility for your own intelligence. 😉 -Rick Brewster

Link to comment
Share on other sites

This should go into the Distort menu, not the Object menu.
You mean Render, don't you? This plugin doesn't distort the existing pixels, it overwrites them with new information.

Actually, it "blends" with the existing pixels.

I debated with myself over which menu it should go in, between distort and render... and I see merit to both options, but I am leaning towards distort, only because that is where "Tile Reflection" is, which is probably the closest thing to this plugin among the built in effects.

Total hack.

Link to comment
Share on other sites

Nice effect... Good to have now a source for VB! Thanks.

Some suggestions (ideas):

1. option for horizontal ?

2. can you add the possibility to divide the lines (not only merging)

3. quality slider...

4. random width per line (or variable width)...

5. frequency: low value, less lines, high value more lines, it's more natural in this way IMO.

Link to comment
Share on other sites

Nice effect... Good to have now a source for VB! Thanks.

Some suggestions (ideas):

1. option for horizontal ?

2. can you add the possibility to divide the lines (not only merging)

3. quality slider...

4. random width per line (or variable width)...

5. frequency: low value, less lines, high value more lines, it's more natural in this way IMO.

1. I can do that... it will take a little time to re-think the "top-to-bottom" logic, but not insurmountable. What would REALLY be difficult would be to let the user select an angle, at least given my implementation. Any suggestions on that would be welcome.

2. It can be done... I have actually already given that some thought. Early attempts ran a high likelyhood of "re-merging", so I'll need to give that more thought to see how I can reduce that likelyhood.

3. I'm sure I could look at other plugins to see how others have implemented that... but I am VERY open to suggestions on what quality "means" in this context. Anti-aliasing? Not sure... any advice is appreciated.

4. I had an early version that did that... easy to implement... probably should be optional?

5. Yes, I agree... that will be in any future versions.

Also, I'll probably move it to the distort submenu.

Total hack.

Link to comment
Share on other sites

...

1. I can do that... it will take a little time to re-think the "top-to-bottom" logic, but not insurmountable. What would REALLY be difficult would be to let the user select an angle, at least given my implementation. Any suggestions on that would be welcome.

2. It can be done... I have actually already given that some thought. Early attempts ran a high likelyhood of "re-merging", so I'll need to give that more thought to see how I can reduce that likelyhood.

3. I'm sure I could look at other plugins to see how others have implemented that... but I am VERY open to suggestions on what quality "means" in this context. Anti-aliasing? Not sure... any advice is appreciated.

4. I had an early version that did that... easy to implement... probably should be optional?

5. Yes, I agree... that will be in any future versions.

Also, I'll probably move it to the distort submenu.

1.Horizontal/Vertical and direction (up<-->down, left<-->right) should be great enough

(sss... don't let them think you could add an angle chooser...)

2.The point here is the new branch is too close to the other and so it will 'died' on next line or soon... Perhaps a duration could solve this and give an extra possibility.

Duration: don't change x position for every y and keep the last xVar for few lines...

3.Yes, Anti-Aliasing

4.Or reducing width (from slider value to 0, smoothly from top to bottom...)

5.Ok

Just some more ideas...

Link to comment
Share on other sites

Actually, it "blends" with the existing pixels.

I debated with myself over which menu it should go in, between distort and render... and I see merit to both options, but I am leaning towards distort, only because that is where "Tile Reflection" is, which is probably the closest thing to this plugin among the built in effects.

Well, for the user it "feels" like a render. Tile Reflection really distorts the source, this one creates a new thing without using the source image.

At least it looks that way for me.

Link to comment
Share on other sites

Actually, it "blends" with the existing pixels. . .

Well, for the user it "feels" like a render. Tile Reflection really distorts the source, this one creates a new thing without using the source image.

At least it looks that way for me.

I understand your point... I really do... but even though it may look that way, especially on very dark or very light images... if you look closely, especially when the "width" is on a high setting, you can see that the "source" image is still visible, blended with the output. This is also clear in the code, if you are a coder. I might add an alpha slider (or intensity, or something like that) which would make that much easier to see, and add some flexibility. The source is absolutely a part of the output pixels.

I agree that Tile Reflection clearly "distorts" the source (by moving pixels around), where this plugin simply modifies the pixels in place, which for many might seem to be less of a "distortion" and more of a "render"... that is why I was unsure of where to put it in the menu.

Regards.

Total hack.

Link to comment
Share on other sites

Look at Rick's "Clouds" effect. If you change the "Blending Mode" option it affects the source in a way that doesn't completely replace it. Clouds is in the Render sub-menu.

Your plugin adds a rendered "object" with varying transparency levels over/above the source data.

Distortion plugins generally have an effect on the position of data from the source OR they translate the data from the source based on a calculation which takes into account the original state of the pixels in the source.

Edit:

I'm not trying to troll your thread. I just think that Fisherman's Friend and I have a valid point...

 

Take responsibility for your own intelligence. 😉 -Rick Brewster

Link to comment
Share on other sites

Edit:

I'm not trying to troll your thread. I just think that Fisherman's Friend and I have a valid point...

Agreed. I have never questioned the fact that your points are valid. In fact, as I mentioned, I debated these same points before I posted the plugin, which is why I stuck it in the "Object" menu, just to avoid cluttering up the top level of the effects menu while I thought it through (I personally dislike having 50 plugins in the top level menu, but maybe thats just me). The only point that I have disagreed with is that the output isn't based on the source... since it is. I really don't care where it goes in the menu system... if anyone actually wants to use it, they will probably be okay with either "distort" or "render" or "object" without too much concern. A nice enhancement for Paint.Net would be to allow the user to organize their own plugins.... but I have bigger fish to fry... so for now, I will put it in the render submenu in any future versions until further notice (right now it is in the distort menu in the current version of the code on my computer, so hopefully I won't forget to change it). If anyone else wants to debate that, I'm all ears, but that is not high on my priority list. Majik made some suggestions that I think require more of my brain cycles :?

Thanks sincerely for the feedback.

Total hack.

Link to comment
Share on other sites

Another idea:

As I was updating the Random lines plugin, I found usefull the possibility to keep the lines as they are and play with the width.

So you should add a reseed button in the list of suggestions...

I already have that one on my list... good idea. Some properties are easier to edit in place (without reseeding automatically) than others. For example, alpha (which will be called intensity, and you have not seen it yet) will be easy to edit without reseeding. Width is a little more difficult, but possible, compared to frequency, which will be much more difficult (although still remotely possible if I make some relatively major changes).

Right now, however, I am struggling with how to do anti-alias, which is the highest priority, and I have no clue how to do it. Any code that demonstrates that would be helpful... ?

Total hack.

Link to comment
Share on other sites

Try looking at some of the plugins that perform anti-aliasing. Most of them have released their source.

 

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

Try looking at some of the tutorials that perform anti-aliasing. Most of them have released their source.
Do you mean "plugins"?

 

Take responsibility for your own intelligence. 😉 -Rick Brewster

Link to comment
Share on other sites

Try looking at some of the tutorials that perform anti-aliasing. Most of them have released their source.

Yes, but every plugin other than this one is in C#, thus it would not be easy for him to exactly implement without a C# to VB.net translator, which even then the output is very shaky.

signature.png

Link to comment
Share on other sites

Try looking at some of the tutorials that perform anti-aliasing. Most of them have released their source.

Yes, but every plugin other than this one is in C#, thus it would not be easy for him to exactly implement without a C# to VB.net translator, which even then the output is very shaky.

I have no problem translating from one to the other... to translate from C# to VB all you have to do is delete the semicolons from the end of each line :lol:

Seriously... I can do the translation... (how do ya think I got this far :) ) but I have looked at a few already, and the ones I have looked at seem to do it in different ways. I have only had time to look at a couple so far... so I'm still looking, but if anyone wants to point me to the best example, that would help. If not, I'll figure it out.

Total hack.

Link to comment
Share on other sites

Join the conversation

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

Guest
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...