Jump to content

Bold Brushstrokes v1.2 (Dec 17, 2022)


Recommended Posts

This plugin draws your image with many overlapping brush strokes.

 

955422103_boldbrushstrokesdemo4.thumb.jpg.5cf5c608e8c895b077930b1f3a533339.jpg

 

Menu: Effects->Artistic

 

Plugin file: 

 

BoldBrush.zip

 

 

It creates a painterly effect:

 

 

It has options to create a range of different styles:

1479450545_boldbrushstrokesdemo1.thumb.jpg.fd168de7aa0f8b446fb854a90ecd4943.jpg

184887406_boldbrushdemocontrols.thumb.png.712319d9868331e794118991346054ab.png

 

 

I wrote this effect using BoltBait's CodeLab plugin.

 

Versions:

 

-1.2 Brushstroke positions are now jiggled a little, pseudorandomly, to reduce an unwanted pixelation-like effect when drawing wide strokes. Plugin is now optimised to run a little faster than before.

-1.1 Replaced "effect strength" option with "preserve fine details" option. Cleaned up control panel a little. Maybe hopefully fixed a crashing bug.

-1.0 Initial Release

 

Edited by Robot Graffiti
New version of plugin
  • Like 5
  • Upvote 1
  • You're a Smart Cookie! 1
Link to comment
Share on other sites

@Robot Graffiti welcome to the forum and Thank You! I like this effect; does a pretty good job simulating a painted canvas.  👍 😊

Link to comment
Share on other sites

Initially very impressed but sadly it crashed paint.net - without any useful crash information.

 

On Pdn 4.3.12, opened the effect, looked good!, changed to rough stroke - looked even better, increased "chonkyness" - Pdn just closed?
Re opened Pdn and looked at the crash log but nothing listed under Exception details?

 

I really hope you can find the bug as it is potentially a very useful artistic effect.

 

Red ochre Plugin pack.............. Diabolical Drawings ................Real Paintings

 

PdnForumSig2.jpg

Link to comment
Share on other sites

Perhaps a G.D.I+ graphics object is not being disposed of correctly? - just a long shot guess!
If so, wrapping them in 'using' blocks often helps.

 

I'm not an expert but there are some extremely knowledgeable and helpful plugin experts on this forum.
If you can't find the problem, do consider starting a thread in the developer central section.

In my experience, sometimes fresh eyes can spot problems in code that the author can't see.

 

Red ochre Plugin pack.............. Diabolical Drawings ................Real Paintings

 

PdnForumSig2.jpg

Link to comment
Share on other sites

58 minutes ago, Red ochre said:

Perhaps a G.D.I+ graphics object is not being disposed of correctly?

 

From looking at the dissembled code it appears that all of the GDI+ objects are being disposed.

I am wondering if the 'out of memory' error is a multi-threading issue, the plugin is not configured as single threaded and GDI+ objects do not like to be used by multiple threads.

  • Upvote 2

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

If it's using GDI+ (System.Drawing) for drawing then this is a very good candidate to convert to GpuDrawingEffect with PDN5. Direct2D is much better than GDI+ for this sort of thing. You can access the source image with this.Environment.GetSourceImageBgra32(), then Lock() it for direct access, then draw whatever you want into the IDeviceContext you get in OnDraw(). The multithreading / tiling is handled for you after that.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • Robot Graffiti changed the title to Bold Brushstrokes v1.1 (Dec 1, 2022)

I have uploaded version 1.1.

 

Made extra sure to dispose of GDI+ objects as suggested by Red ochre, and compiled with the single threading option in CodeLab as suggested by null54. I hope this will make this version less crashy. I guess the intermittent error was probably GDI+ complaining about multiple threads accessing the same image.

 

Replaced "effect strength" option, which tended to produce ugly results, with "preserve fine details" option that selectively makes the effect more transparent in high contrast areas only.

 

Replaced radio buttons with dropdowns to make the control panel a slightly less intimidating size, per ReMake's suggestion.

Edited by Robot Graffiti
  • Like 1
  • Upvote 3
Link to comment
Share on other sites

I really like this. Makes me wistful for the paint-by-numbers artworks of the 70's.

 

waxeye.png

  • Like 2
Link to comment
Share on other sites

Well I tried...Hummm?

96000599_ChristmasballsBOLDBRUSHTEST2.jpg.19f6a13dea66a5292eb4327db5c326b5.jpg

  • Like 2

           Scooter

  Age is only  a number --in my case a Really BIG number, but there you have it

When the prefect paint.net image is created, I will still be wondering "How they Do that?"- sigh☺️

       

Link to comment
Share on other sites

Link to comment
Share on other sites

  • Robot Graffiti changed the title to Bold Brushstrokes v1.2 (Dec 17, 2022)

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.

 Share

×
×
  • Create New...