xmario Posted August 21, 2012 Share Posted August 21, 2012 (edited) This tutorial is available as a PDF. Click here to view or download it A simple way to make the colors more intense in the photo This is a easy way to make more saturated dead colors in a photo or in a picture. So, we'll take a picture, to make the colors more saturated. For example, like this photo. 1. Open the photo in paint.net. 2. Duplicate the layer with the photo. 3. Apply to the top layer “Adjustments” - “Black and white”. 4. Apply to the top layer “Adjustments” - “Invert Colors”. 5. Set the blending mode of the top layer - "Reflect" For dark images in the places where they were especially dark, can appear overexposed white areas. This is easy to fix. Apply to the top layer “Adjustments” - “Curves”. Slightly move the top point down until the white illuminated areas will not be wasted. Description of this tutorial in Russian One more example: Edited March 21, 2019 by Woodsy added PDF 1 2 Quote Russian paint.net community Link to comment Share on other sites More sharing options...
Rick Brewster Posted August 21, 2012 Share Posted August 21, 2012 You can also try increasing the saturation with Adjustments -> Hue/Saturation. 1 Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
rafroller Posted August 21, 2012 Share Posted August 21, 2012 Thank you, I used to do it with Hue/Saturation but this method gives great results Quote PDN tutorials in french: "FrenchPDNtutos" - Visit my gallery here ! Sig battles won: 4 Link to comment Share on other sites More sharing options...
xmario Posted August 21, 2012 Author Share Posted August 21, 2012 You can also try increasing the saturation with Adjustments -> Hue/Saturation. Perhaps you're right. For most images this option can be used, but unfortunately not always for photos. Quote Russian paint.net community Link to comment Share on other sites More sharing options...
barbieq25 Posted August 22, 2012 Share Posted August 22, 2012 Pretty cool. Thanks for sharing 1 Quote Knowledge is no burden to carry. April Jones, 2012 Gallery My DA Gallery Link to comment Share on other sites More sharing options...
RedBeard Posted November 12, 2012 Share Posted November 12, 2012 That's pretty darn cool! I'll definitely be putting this technique to use! Quote My Gallery Link to comment Share on other sites More sharing options...
Seerose Posted November 18, 2018 Share Posted November 18, 2018 @xmario! You are Super MARIO! Thank you very much for your effort. *before *after 1 Quote Live as if you were to die tomorrow. Learn as if you were to live forever. Gandhi Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 I'd really like to make a simple plugin of this with Codelab, but I don't know the codes for "Black and White" and "Curves" Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
ReMake Posted January 2, 2019 Share Posted January 2, 2019 2 hours ago, Sakana Oji said: I'd really like to make a simple plugin of this with Codelab, but I don't know the codes for "Black and White" and "Curves" There is no need to apply the Curves effect. Try applying the Brightness / Contrast effect by setting one of the options to -1. In this case, creating an effect in CodeLab should not be difficult. Run CodeLab -> File -> New. Select the options as shown below and click Generate. Now you have this code: Spoiler // Name: // Submenu: // Author: // Title: // Version: // Desc: // Keywords: // URL: // Help: #region UICode IntSliderControl Amount1=10; // [-100,100] Brightness IntSliderControl Amount2=10; // [-100,100] Contrast #endregion // Setup for calling the Brightness and Contrast Adjustment function BrightnessAndContrastAdjustment bacAdjustment = new BrightnessAndContrastAdjustment(); PropertyCollection bacProps; // Setup for using pixel op private UnaryPixelOps.Desaturate desaturateOp = new UnaryPixelOps.Desaturate(); private UnaryPixelOps.Invert invertOp = new UnaryPixelOps.Invert(); // Setup for using Reflect blend op private BinaryPixelOp reflectOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Reflect); protected override void OnDispose(bool disposing) { if (disposing) { // Release any surfaces or effects you've created. if (bacAdjustment != null) bacAdjustment.Dispose(); bacAdjustment = null; } base.OnDispose(disposing); } void PreRender(Surface dst, Surface src) { bacProps = bacAdjustment.CreatePropertyCollection(); PropertyBasedEffectConfigToken bacParameters = new PropertyBasedEffectConfigToken(bacProps); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Brightness, Amount1); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, Amount2); bacAdjustment.SetRenderInfo(bacParameters, new RenderArgs(dst), new RenderArgs(src)); } // Here is the main render loop function void Render(Surface dst, Surface src, Rectangle rect) { // Call the Brightness and Contrast Adjustment function bacAdjustment.Render(new Rectangle[1] {rect},0,1); // Now in the main render loop, the dst canvas has an adjusted version of the src canvas for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel = dst[x,y]; // TODO: Add additional pixel processing code here CurrentPixel = desaturateOp.Apply(CurrentPixel); CurrentPixel = reflectOp.Apply(src[x,y], CurrentPixel); CurrentPixel = invertOp.Apply(CurrentPixel); dst[x,y] = CurrentPixel; } } } Move line "CurrentPixel = reflectOp.Apply(src[x,y], CurrentPixel);" under line "CurrentPixel = invertOp.Apply(CurrentPixel);" Replace Amount1 and Amount2 with 0 and -1 respectively in these lines: bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Brightness, 0); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, -1); You can now remove the Amount1 and Amount2 controls - you will no longer need them. Fill in the commented lines at the top of the codes, for example: Spoiler // Name: Colors Intensity // Submenu: Color // Author: // Title: Colors Intensity // Version: 1.0 // Desc: Give the picture an intense colors // Keywords: intensity|color // URL: http://www.getpaint.net/redirect/plugins.html and save your effect. I hope it's not difficult. 1 Quote Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 Thanks @ReMake, but I still get the error: "Exception has been thrown by the target of an invocation." How do I fix this? Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
ReMake Posted January 2, 2019 Share Posted January 2, 2019 2 hours ago, toe_head2001 said: We can't help you fix the issue by just seeing the Error message. Please post the code you're using in CodeLab. You must have gone wrong somewhere... Please publish your code (while in the CodeLab text editor, do Ctrl+A then Ctrl+C and paste your code into the message here). Quote Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 15 minutes ago, ReMake said: Please publish your code (while in the CodeLab text editor, do Ctrl+A then Ctrl+C and paste your code into the message here). Here you go: // Name: Color Intensifier // Submenu: Color // Author: Sakana Oji // Title: Color Intensifier // Version: 1.0 // Desc: Intensifies the colors of the picture // Keywords: intensity|color // URL: http://www.getpaint.net/redirect/plugins.html // Help: #region UICode #endregion // Setup for calling the Brightness and Contrast Adjustment function BrightnessAndContrastAdjustment bacAdjustment = new BrightnessAndContrastAdjustment(); PropertyCollection bacProps; // Setup for using pixel op private UnaryPixelOps.Desaturate desaturateOp = new UnaryPixelOps.Desaturate(); private UnaryPixelOps.Invert invertOp = new UnaryPixelOps.Invert(); // Setup for using Reflect blend op private BinaryPixelOp reflectOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Reflect); protected override void OnDispose(bool disposing) { // Release any surfaces or effects you've created. if (bacAdjustment != null) bacAdjustment.Dispose(); bacAdjustment = null; base.OnDispose(disposing); } void PreRender(Surface dst, Surface src) { bacProps = bacAdjustment.CreatePropertyCollection(); PropertyBasedEffectConfigToken bacParameters = new PropertyBasedEffectConfigToken(bacProps); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Brightness, 0); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, -1); bacAdjustment.SetRenderInfo(bacParameters, new RenderArgs(dst), new RenderArgs(src)); } // Here is the main render loop function void Render(Surface dst, Surface src, Rectangle rect) { // Call the Brightness and Contrast Adjustment function bacAdjustment.Render(new Rectangle[1] {rect},0,1); // Now in the main render loop, the dst canvas has an adjusted version of the src canvas for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel = dst[x,y]; // TODO: Add additional pixel processing code here CurrentPixel = desaturateOp.Apply(CurrentPixel); CurrentPixel = invertOp.Apply(CurrentPixel); CurrentPixel = reflectOp.Apply(src[x,y], CurrentPixel); dst[x,y] = CurrentPixel; } } } I don't know how to do that "codie-thingy" by the way Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
toe_head2001 Posted January 2, 2019 Share Posted January 2, 2019 1 minute ago, Sakana Oji said: Here you go: And where are you seeing the Error message? In CodeLab's Error List pane? In a MessageBox? Can you also post a screenshot of that? Quote My Gallery | My Plugin Pack Layman's Guide to CodeLab Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 2 minutes ago, toe_head2001 said: Can you also post a screenshot of that? Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
ReMake Posted January 2, 2019 Share Posted January 2, 2019 Install the latest version of CodeLab (v 4.1). Quote Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 1 minute ago, ReMake said: Install the latest version of CodeLab (v 4.1). I like at the Harley house at the moment. I don't have permission from admin rights, and I can't install it properly. Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
ReMake Posted January 2, 2019 Share Posted January 2, 2019 I'm sorry, but in this case, I can't help you. Quote Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 Never mind, fixed it. Turns out I have an older version of Paint.net so the "Exception" error was fixed and I was able to build it. Thanks past self! 1 Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 2, 2019 Share Posted January 2, 2019 I'll publish it tomorrow, it's getting late now - about 8.30. I'll have a coffee and then I'm off to bed. Goodnight everybody! Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
Sakana Oji Posted January 3, 2019 Share Posted January 3, 2019 Okay, I'm back online. I'm still at Harley so Bitdefender is preventing me from getting a Dropbox account, so it might be a while... Quote Big McThankies From McSpankies! Link to comment Share on other sites More sharing options...
Robert Smith Posted July 5, 2019 Share Posted July 5, 2019 Thanks for the tutorial. But it would be great if you share some video tutorial. It will help us to understand the processes very easily. Quote Link to comment Share on other sites More sharing options...
Woodsy Posted July 5, 2019 Share Posted July 5, 2019 8 hours ago, Robert Smith said: Thanks for the tutorial. But it would be great if you share some video tutorial. It will help us to understand the processes very easily. If you hover your mouse over @xmario's avatar you'll see that he hasn't logged in for over two years. It appears that he might be among the disappearing members Quote My PDN Gallery Link to comment Share on other sites More sharing options...
ReMake Posted July 5, 2019 Share Posted July 5, 2019 @Robert Smith, if you looks to paint.net documentation, this tutorial should not cause you any problems. This is a very,very simple tutorial - just a few clicks. Open your image (Ctrl+O). Duplicate Layer (Ctrl+Shift+D), desaturate (Ctrl+Shift+G), and invert it (Ctrl+Shift+I). Click F4 and select Reflect Blending Mode for this layer. Run Brightness / Contrast adjustment (Ctrl+Shift+T), set one of the controls (Brightness or Contrast) to -1 and merge layers (Ctrl+M). That's all. Hope this was helpful. 2 Quote Link to comment Share on other sites More sharing options...
RickyBobby Posted May 27, 2021 Share Posted May 27, 2021 Holy mashed potato! This was AMAZING!! I had a totally washed out pic that I was going to have to travel 2 hours to retake, but this made the pic look beautiful! Thank you so much!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.