Jump to content
How to Install Plugins ×

Intensity RGB


ReMake

Recommended Posts

This effect allows you to change the color intensity separately in the R, G, and B channels.

It can be useful for giving a photo a retro effect or for changing the color of items in the image.

 

Download from my PluginPack

 

You can find this effect in Adjustments menu.

 

The effect has a simple intuitive interface.

Intensity-RGB-en.png

 

Before:

flower.jpg

 

After:

flower-intensity.jpg

 

CodeLab source code:

Spoiler


// Name:Intensity RGB
// Submenu:
// Author:ReMake
// Title:Intensity RGB
// Version:1.0
// Desc:Adjusting the intensity of the R, G, and B channels separately
// Keywords:paint.net|effect|intensity|rgb
// URL:https://www.getpaint.net/redirect/plugins.html
// Help:
#region UICode
IntSliderControl red = 215; // [0,255] Red
IntSliderControl green = 75; // [0,255] Green
IntSliderControl blue = 10; // [0,255] Blue
#endregion

void Render(Surface dst, Surface src, Rectangle rect)
{
    Rectangle selection = EnvironmentParameters.SelectionBounds;

    ColorBgra CurrentPixel;
    for (int y = rect.Top; y < rect.Bottom; y++)
    {
        if (IsCancelRequested) return;
        for (int x = rect.Left; x < rect.Right; x++)
        {
            if (IsCancelRequested) return;
            CurrentPixel = src[x,y];
            byte intensity = CurrentPixel.GetIntensityByte();
            int R = (CurrentPixel.R*red + intensity*(255-red))/255;
            int G = (CurrentPixel.G*green + intensity*(255-green))/255;
            int B = (CurrentPixel.B*blue + intensity*(255-blue))/255;

            CurrentPixel.R = (byte)R;
            CurrentPixel.G = (byte)G;
            CurrentPixel.B = (byte)B;

            dst[x,y] = CurrentPixel;
        }
    }
}

private void OnWindowHelpButtonClicked(IWin32Window owner, string helpContent)
{
    MessageBox.Show(owner, "Intensity RGB  v1.0\n\nAdjusting the intensity of the R, G, and B channels separately.\n\nCopyright ©2020 by ReMake\nAll rights reserved.", "Intensity RGB", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

and icon  Intensity-RGB.png

 

I hope you will like this effect and find a use for it.

  • Like 3
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...