Sign in to follow this  
Simon Brown

Film Noir Plugin - Updated for Paint.NET 3.20

Recommended Posts

That sort of bug happens when you write to the src canvas.

All writing you do should be to the dst canvas only.

Share this post


Link to post
Share on other sites
That sort of bug happens when you write to the src canvas.

All writing you do should be to the dst canvas only.

I'll update it. It's because the plugin works by applying several effects I know achieves the desired effect. In the update i'll make it write to a custom canvas.

I've also noticed it works best on indoor images.

Share this post


Link to post
Share on other sites
I'll update it. It's because the plugin works by applying several effects I know achieves the desired effect. In the update i'll make it write to a custom canvas.

Be careful with memory management if you do that...

Share this post


Link to post
Share on other sites
That sort of bug happens when you write to the src canvas.

All writing you do should be to the dst canvas only.

I'll update it. It's because the plugin works by applying several effects I know achieves the desired effect. In the update i'll make it write to a custom canvas.

I've also noticed it works best on indoor images.

You should create the minimum number of canvas that you need. Preferrably only 1. You can render from src to your new canvas then to dst, back to new and to dst... Never use src as a destination.

Share this post


Link to post
Share on other sites
That sort of bug happens when you write to the src canvas.

All writing you do should be to the dst canvas only.

I'll update it. It's because the plugin works by applying several effects I know achieves the desired effect. In the update i'll make it write to a custom canvas.

I've also noticed it works best on indoor images.

You should create the minimum number of canvas that you need. Preferrably only 1. You can render from src to your new canvas then to dst, back to new and to dst... Never use src as a destination.

I find it works if I render from the new canvas to the new canvas. I don't render to dist until the end because I prefer to keep the inner workings of my programs secret.

Share this post


Link to post
Share on other sites
Yeah, there's an undo bug...

You should also mind to move it to "Effects/Color". It's rather an (color related) effect than an adjustment. This is my personal opinion. (What else?)

Sepia and B/W are in the Adjustments menu - they are clearly colour effects.

Share this post


Link to post
Share on other sites
I find it works if I render from the new canvas to the new canvas. I don't render to dist until the end because I prefer to keep the inner workings of my programs secret.

That's about as necessary as a tin foil hat.

Whatever is on the dst canvas at the end of your render loop is what the user sees. No one will see anything else. The screen doesn't update until the render loop is finished.

Share this post


Link to post
Share on other sites
Yeah, there's an undo bug...

You should also mind to move it to "Effects/Color". It's rather an (color related) effect than an adjustment. This is my personal opinion. (What else?)

Sepia and B/W are in the Adjustments menu - they are clearly colour effects.

Well, I thought so too, but I think sepia and bw are common and "true" adjustments, "Fim Noir" is rather effect related. If you have all plugins, just look in "Color" and imagine what could be moved to "Adjustments" due to your argumentation. I don't think the adjustments menu was intended for that much entries. But I have no problem to have it in "Adjustments", that was just an idea.

Another point is that I wonder if the effect could be achieved via a certain curves+ setting. But yours makes the picture a bit blue, I think...?

Edit: Ah, you updated it, that was fast! Great! :D

Share this post


Link to post
Share on other sites
I find it works if I render from the new canvas to the new canvas. I don't render to dist until the end because I prefer to keep the inner workings of my programs secret.

That's about as necessary as a tin foil hat.

Whatever is on the dst canvas at the end of your render loop is what the user sees. No one will see anything else. The screen doesn't update until the render loop is finished.

Turns out you're right - I've posted another update. Sorry about that.

Share this post


Link to post
Share on other sites

On the note of menu placement, as we already have one effect giving a film-like result in the Effects menu (no submenu, mind), wouldn't it be prudent to have all the film-esque plugins in one location?

Just a thought.

Share this post


Link to post
Share on other sites
On the note of menu placement, as we already have one effect giving a film-like result in the Effects menu (no submenu, mind), wouldn't it be prudent to have all the film-esque plugins in one location?

Just a thought.

What plugin is that?

Share this post


Link to post
Share on other sites
On the note of menu placement, as we already have one effect giving a film-like result in the Effects menu (no submenu, mind), wouldn't it be prudent to have all the film-esque plugins in one location?

Just a thought.

What plugin is that?

Film plugin: viewtopic.php?f=16&t=5097

Paint.NET 3.20 is going to have a submenu under Effects called "Photo". I would suggest putting it under that.

Share this post


Link to post
Share on other sites
On the note of menu placement, as we already have one effect giving a film-like result in the Effects menu (no submenu, mind), wouldn't it be prudent to have all the film-esque plugins in one location?

Just a thought.

I go along with BB, a new sub just for two effects is not the big idea, I think...

Share this post


Link to post
Share on other sites

Error Log. Have Fun! :D

File: C:\Program Files\Paint.NET\Effects\FilmNoir.dll
     Effect Name: FilmNoir.EffectPlugin
     Full error message: PaintDotNet.WorkerThreadException: Worker thread threw an exception ---> System.InvalidCastException: Unable to cast object of type 'PaintDotNet.Effects.BrightnessAndContrastAdjustmentConfigToken' to type 'PaintDotNet.Effects.PropertyBasedEffectConfigToken'.
  at PaintDotNet.Effects.Effect`1.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length)
  at FilmNoir.EffectPlugin.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length)
  at PaintDotNet.Effects.BackgroundEffectRenderer.ThreadFunction()
  --- End of inner exception stack trace ---
  at PaintDotNet.Effects.BackgroundEffectRenderer.Join()
  at PaintDotNet.Effects.BackgroundEffectRenderer.Abort()
  at PaintDotNet.Menus.EffectMenuBase.DoEffect(Effect effect, EffectConfigToken token, PdnRegion selectedRegion, PdnRegion regionToRender, Surface originalSurface, Exception& exception)

Share this post


Link to post
Share on other sites

Um... my school computer blocked the image because it is categorized "pornography"

Obviously that's some BS, but upload the example to photobucket or imageshack please.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this