Search the Community

Showing results for tags 'adjustments'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Information
    • Forum Rules
    • Paint.NET Search
    • Official Paint.NET website
    • Help Files (the official documentation)
  • Paint.NET
    • Paint.NET Discussion and Questions
    • The Pictorium
    • Tutorials - Publishing ONLY!
    • Competitions
    • Plugins - Publishing ONLY!
    • Troubleshooting & Bug Reports
  • Off-Topic
    • Grand Theory of Everything
  • Paint.NET Programming / Development
    • Plugin Developer's Central
    • Preview Center
    • Translation and Localization

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL









Found 28 results

  1. Download from my plugin set Tutorial by forum moderator David Atwell: The Wonderful World of Gradient Mapping Get some nice gradients here: Presets for Gradient Mapping by ReMake This adjustment appears in the Adjustments menu. Amazing! Adjustments > Gradient Mapping Use this plugin to create a custom gradient and map it to your image based on any supported input channel. One of the primary uses of this plugin is to create a multi-colored gradient. Just use Paint.NET's built-in gradient tools to draw the gradient shape you want, then use this plugin to create your desired gradient. Download from my plugin set For developers: Gradient Mapping is on GitHub!
  2. Overview This plugin lets you change the RGB, HSV, or alpha channel of the image. It replaces my old Saturation to Alpha plugin and a lot of other users' channel-manipulating plugins. After choosing a channel to manipulate, you can perform arithmetic operations, inversion, channel swapping, contrast and truncation. Located in the Adjustments tab. Purpose and Application I find this useful mainly to set the alpha of an image and colorize a grayscale image, since you can't color a grayscale image using the Hue/Saturation tool if it has 0 saturation. Truncation makes a neat 4-bit or 8-bit effect, I suppose. Options Invert: Takes the maximum value of the channel and subtracts the current value from it, then overwrites the current value with this new one. Overwrite: Choose a channel, then choose a second channel to replace it. The value of the first channel is overwritten by the value of the second channel. This does not swap their values. Set: Directly set the value of a channel. Sharpen: Increase the contrast of the channel. This does not decrease contrast. Add: Add a value to each pixel in the selected channel. Subtract: Subtract a value to each pixel in the selected channel. Multiply: Multiply a value to each pixel in the selected channel. Divide: Divide a value to each pixel in the selected channel. Make less than: Clamps the maximum value of each channel to the set value. Make greater than: Clamps the minimum value of each channel to the set value. Truncate: Makes all values in the selected channel multiples of the set value. Remarks This effect can closely simulate my "color to alpha" and "truncate resolution" plugins. It can simulate the "Transparency" plugin perfectly. It can simulate BoltBait's "gray to alpha" fairly well. It can perform "Black and White" and "Invert Colors". I will probably update this at some point to make it more professional and allow multiple-channel adjustments at one time. Download: Channel Operations Source code: Github Source code usage before the MIT license was applied is not restricted by that license. I just had to choose a license because "no license" was ambiguous.
  3. Plugin: This is a trivial but sometimes useful adjustment that converts all transparent pixels to transparent white. I already had a plugin to convert transparent pixels to transparent black, but for those who only want to make all the transparent pixels the same color, transparent white may be preferable, since that's Paint.NET's usual transparent color. For example, it's the color used for Erase Selection.
  4. This plugin is all about "dimming" a certain channel, which means desaturating the highest-saturation pixels first and working its way down smoothly. There are also other RGB adjustment algorithms that add fine adjustment. First, let's look at the menu. ((NOTE)): Default settings should have all X-axis's set to 1.00. This makes the image appear as itself. Apologies, since I'm dealing with limitations in Codelab here. Red -- X axis -- Adjusts the red channel according to the "dimmer" algorithm. Red -- Y axis -- Adjusts the red channel according to a standard "levels" type algorithm. Green -- X axis -- Adjusts the green channel according to the "dimmer" algorithm. Green -- Y axis -- Adjusts the green channel according to a standard "levels" type algorithm. Blue -- X axis -- Adjusts the blue channel according to the "dimmer" algorithm. Blue -- Y axis -- Adjusts the blue channel according to a standard "levels" type algorithm. Proportional Shift -- Alters the Y-axis levels algorithm so the color shift is proportional to the distance between the current value and the max or min values. If that's confusing for you (it is!), here's a better explanation. If you use the in-built "levels" plugin in, say, red, it will raise or lower the red channel's value globally. So if you have a piece where one section has a red value of 60 and another section has a red value of 200, the "levels" algorithm will raise them both by a fixed amount. So the 60-red will now be 64-red and the 200-red will now be 204-red. More saturated sections will max out at 255, while all other red channels increase by that fixed amount. The Y-axis of each part of this plugin will follow this algorithm perfectly. However, if you turn on the "proportional shift" option, the channel will instead increase by a proportional amount. 155-red would increase to 205-red, while 55-red would increase to 155-red, because in both cases it's increasing by half the distance to 255. If you go in the negative direction, the setting would decrease each by its distance to 0, so for example 50-red would decrease to 25-red, while 100-red would decrease to 50-red. Combined with the fact that black pixels are ignored on the decrease and white pixels are ignored on the increase, this option gives a smoother color transition. Now, the X-axis algorithm is more complicated. What this does is "dims" a channel by decreasing the saturation, starting with the most saturated pixels and ending with the least. So your 255-reds and 244-reds are the first to be desaturated, while the 30-reds, etc wait until lower settings. The algorithm is set up in such a way that there are no jagged pixels, so this too is a smooth transition. Combined together, the two algorithms give a fine adjustment of all three channels. I stuck the controls into a double vector so it's easier to make adjustments without switching between sliders. It's hard to give examples of this plugin's use because the settings can be subtle. Nonetheless: Seed Image "Dimmed" Blue to 38. Same as above, but "leveled" blue to 0.47 Same as above, but proportional Unrelated to the above; increased all levels to the max with "proportional" on. Also unrelated; decreased all levels to the minimum with proportional on, and then dimmed blue to 0.49 Actual Plugin: Color
  5. Black and White+ version 1.1 Black and White+ includes 3 different algorithms to convert a color image into a black-and-white image. Luminosity Method Shade of Gray = 0.299 * Red + 0.587 * Green + 0.114 * Blue This is the default method. This is how the built-in Black-and-White effect converts a color image to black-and-white. This method gives different weights to Red, Green, and Blue. Other methods treat each color equally. Average Method Shade of Gray = (Red + Green + Blue) / 3 Lightness Method Shade of Gray = [Max(Red,Green,Blue) + Min(Red,Green,Blue)] / 2 Every color photograph is different. You'll just need to try each method to see which one works best for your specific photograph. Brightness/Contrast In addition to converting your photograph to black-and-white, I've also provided access to the Brightness and Contrast adjustments. For a more dramatic effect, decrease the brightness (try -10) and increase the contrast (try +10). Download Download this effect as part of my plugin pack: Source Code Here is the icon: and here is the CodeLab source: // Name: Black and White+ // Author: BoltBait // Submenu: Adjustments // Title: BoltBait's Black and White+ v1.1 // Version: 1.1 // Desc: Convert image to Black and White // Keywords: Black and White|B&W // URL: #region UICode ListBoxControl Amount1 = 0; // |Luminosity Method|Average Method|Lightness Method IntSliderControl Amount2 = 0; // [-100,100] Brightness/Contrast IntSliderControl Amount3 = 0; // [-100,100] #endregion BrightnessAndContrastAdjustment bacAdjustment = new BrightnessAndContrastAdjustment(); PropertyCollection bacProps; private double Max3(double x, double y, double z) { return (x > y) ? ((x > z) ? x : z) : ((y > z) ? y : z); } private double Min3(double x, double y, double z) { return (x < y) ? ((x < z) ? x : z) : ((y < z) ? y : z); } protected override void OnDispose(bool disposing) { if (disposing) { 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, Amount2); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, Amount3); bacAdjustment.SetRenderInfo(bacParameters, new RenderArgs(dst), new RenderArgs(src)); } unsafe void Render(Surface dst, Surface src, Rectangle rect) { // Call the Brightness and Contrast Adjustment function bacAdjustment.Render(new Rectangle[1] {rect},0,1); for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel = *dstPtr; byte K = CurrentPixel.R; if (!(CurrentPixel.R == CurrentPixel.G && CurrentPixel.G == CurrentPixel.B)) { switch (Amount1) { case 0: K = (byte)((0.299f * CurrentPixel.R) + (0.587f * CurrentPixel.G) + (0.114f * CurrentPixel.B)); break; case 1: K = (byte)((CurrentPixel.R + CurrentPixel.G + CurrentPixel.B) / 3.0); break; case 2: K = (byte)((Max3(CurrentPixel.R, CurrentPixel.G, CurrentPixel.B) + Min3(CurrentPixel.R, CurrentPixel.G, CurrentPixel.B)) / 2.0); break; default: break; } } CurrentPixel = ColorBgra.FromBgra(K,K,K,CurrentPixel.A); *dstPtr = CurrentPixel; dstPtr++; } } } Note: User MJW also made a Black and White+ plugin. His has way more adjustments than mine. I'm not sure, but you might be able to use his to get the same results as mine... I just couldn't figure out how to do it. If you like LOTS of things to tinker with, you might give his a try. The above is for Paint.NET v4.1.4+ Paint.NET v3.5.11 I'm sure someone will come along shortly and compile this for you.
  6. I know, very specific. This was made for a request I got from my friend ugng. He told me to publish it here in case some random dude comes up and wants to use this for whatever reason. Anyway! Posterize Alpha Limits the amount of steps in an alpha channel. Like posterize but for alpha channel Enjoy this spicy gif I made. Does this gif work? It doesn't work in the post preview. Hopefully it does. Love you all! UPDATE: added icon made by ugng alphalevels.dll
  7. Black and White+ is a simple plugin to convert an image to black and white. The primary additional option (that may or may not merit the "+") is the ability to specify the weights for each color channel. It's in the Adjustment menu. The plugin: The Help Menu description: Black and White+ converts a color image to a grayscale (or two-color) image. The controls are: Red Weight: The weight for the red channel when converting from color to brightness. Green Weight: The weight for the green channel when converting from color to brightness. Blue Weight: The weight for the blue channel when converting from color to brightness. Minimum-Channel Weight: The weight for the minimum channel when converting from color to brightness. Maximum-Channel Weight: The weight for the maximum channel when converting from color to brightness. Normalize Weights: When enabled, the weights will be divided by their sum so that the total weight is one. (Note: If only a single channel is non-zero, normalizing the weights will cause it to always have a weight of one.) Brightness: Increases or decreases the brightness. MIdpoint Adjustment: Increases or decreases the brightness of the center values while not affecting the lowest and highest values. Use Primary Color and Secondary Color: When enabled, the brightness will be used to interpolate between the Primary Color and the Secondary Color instead of black and white. Show Original Image: When enabled, the unmodified image will be displayed. The CodeLab code: The icon: Maximilian has a 3.5.11 version. EDIT (6/17/2018): Version 1.1. Added controls for min and max color channels. EDIT (6/18/2018): Version 1.1.6744.2631. Corrected website URL.
  8. This plugin allows to you adjust the saturation of the red, green and blue colors each one separately. You can find this effect in Adjustments menu. Incompatible with 3.5x. Examples of the plugin work: @ingwer has made amazing video about use of this effect. See the topic CodeLab - First Steps (Saturation RGB) for information about how to create this effect. I hope this effect will be applied in your work.
  9. Download from my plugin set Get some really cool presets by ssaamm: Here's what Rick Brewster has to say on the matter: Paint.NET Plugin spotlight: Curves+ This adjustment appears in the Adjustments menu. Amazing! Adjustments > Curves+ Curves+ is exactly like the Curves adjustment that comes with Paint.NET. OK, not really. It is actually far more powerful. Enjoy Download from my plugin set For developers:Curves+ is on GitHub!
  10. This is my first plugin and though it's pretty basic (and might have been done before), I think it's useful. Essentially it takes a black and white image and converts it to a "black and transparent" image. The whole point is that if you have a sketch, applying this plugin will make all of the white parts transparent so that you can color it, add a background, whatever. Download the zipped DLL >> Isolate Lineart
  11. Transparent to Transparent Black is an utterly trivial Adjustment that changes all the transparent pixels to transparent black (0, 0, 0, 0). It can sometimes be useful, particularly when using the Texture Merger. DLL, Version 1.0: The code:
  12. SubLCD This is a usability update of @xrl's original SubLCD resize plugin. See changelog below. Adjustments -> SubLCD Features Example Images Before (Actual and Zoomed-in) After (Actual and Zoomed-in) Changelog v1.2 by toe_head2001 (Jan 9, 2016) Fixed: Now works properly on selections (for real this time). Rectangular selections worked, but non-rectangular did not. Fixed: Now works when run from the 'Plugin Browser' v1.1 by toe_head2001 (Oct 9, 2015) New: Pre-resize and post-crop are no longer necessary. Simply run the plugin. New: Now works properly on selections v1.0 by xrl (Jan 15, 2008) Initial release Download Source Code
  13. Due to a request here: I created a Temperature / Tint Adjustment plugin. It is found under the Adjustment menu. User Interface: Algorithm: This is where I found the algorithm that I used: Here you can visualize the sliders overlaid on the standard color wheel: CodeLab Script: // Name: Temperature/Tint // Submenu: Adjustment // Author: BoltBait // Title: BoltBait's Temperature/Tint v1.3 // Version: 1.3 // Desc: Adjust the Temperature or Tint of a photograph // Keywords: Temperature|Tint // URL: #region UICode IntSliderControl Amount1 = 0; // [-20,20] Temperature IntSliderControl Amount2 = 0; // [-20,20] Tint CheckboxControl Amount3 = false; // [0,1] Preview original image #endregion private byte Clamp2Byte(int iValue) { if (iValue < 0) return 0; if (iValue > 255) return 255; return (byte)iValue; } unsafe void Render(Surface dst, Surface src, Rectangle rect) { for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; ColorBgra* srcPtr = src.GetPointAddressUnchecked(rect.Left, y); ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel = *srcPtr; if (!Amount3) { CurrentPixel.R = Clamp2Byte(CurrentPixel.R + Amount1); // Temperature CurrentPixel.B = Clamp2Byte(CurrentPixel.B - Amount1); // Temperature CurrentPixel.G = Clamp2Byte(CurrentPixel.G + Amount2); // Tint } *dstPtr = CurrentPixel; srcPtr++; dstPtr++; } } } Download: Download as part of my plugin pack, here: Support: This plugin is for 4.0.6+ If you are running Paint.NET 3.5.11, you can build your own copy using the CodeLab source above. You'll need to update the UICode region by replacing "IntSliderControl" with "int" and "CheckboxControl" with "bool". Or, if CodeLab scares you, download the 3.5.11 version here:
  14. Overview Color Replacer can convert pixels in the current selection from one color to another. Pixels with colors that almost match (based on a % match called tolerance) will be affected too, but the original color will be mixed with the new color. It is located under the Adjustments tab. Purpose and Application Use this plugin to remove backgrounds that are close to being single colors. Affected color: The color that you want to change. New color: The new color to choose. Affected color transparency: The transparency of the color to be changed. New color transparency: The transparency of the new color. Tolerance: Instead of just replacing the exact color you choose, why not replace colors relatively close to it as well? Increasing the tolerance increases the range (in RGB) of colors that can be selected. Higher tolerances catch more similar colors. 255 catches everything. Max hue/sat/val difference: These are restrictions placed on the tolerance. When you specify a color, some photos may need a high tolerance to match the colors of your choice. For example, a red gradient for the background of an orange gradient logo. In this case, the maximum hue difference must be limited so only pixels within a certain hue range of the initial color are selected... leaving the orange pixels alone. Color mixing hardness: When pixels are replaced by the chosen color, the further they were from the original color, the less effect the color replacement has. This hardness setting allows you to change this behavior by either tweaking the softness or setting it to 255 so there is no soft color mixing. Remarks When replacing with transparency, consider getting AA's Assistant so that you can remove some of the aftermath (color replacement is imperfect by nature and will usually leave expanses of tinted, lightly transparent areas that AA's Assistant removes). Download: Replace Colors Source code: Github The MIT license does not apply to past users of the source code. Those users still have my explicit permission to do whatever they want. I just had to use a license to avoid ambiguity.
  15. This plugin allows you to modify multiple channels of an image in various ways. Once installed, it can be found in the Adjustments menu, since it is more of an adjustment utility than an effect. Basics - How the Plugin Works In the plugin's dialog, you can configure multiple channel modifications. Each modification allows you to manipulate one channel of the image with one of the built in operations. Every operation uses one or more arguments to calculate the new value for the target channel. The number, form and usage of those arguments depends on the chosen operation. The modifications are executed per pixel and in the order you have arranged them. Use the ˄ and ˅ buttons to re-arrange the modifications, the + button to add more, the × button to remove one, and check/uncheck the Enabled flag to switch a modification on and off. Download and Installation Download from (my webspace) To install this plugin, please follow the usual steps when installing Paint.NET plugins: Download the zip file Extract the content Move the DLL file into the "Effects" folder in Paint.NET's root directory (for example "C:\Program Files\Paint.NET\Effects") Restart Paint.NET The plugin will appear as "Modify Channels..." in the Adjustments, not the Effects menu Changelog Channels Depending on whether you have to select the target channel to write to or the source channel to read from, different channels are available: Red/Green/Blue/Alpha - Gets or sets the value for the respective channel. These values always include the changes from previous modifications. Temp 1/Temp 2 - Gets or sets the value of the respective temporary channel Source Red/Green/Blue/Alpha - Gets the original, unmodified value for the respective channel (read-only) Average - Gets the average of the current Red, Green and Blue channel values (read-only) Grayscale - Sets the Red, Green and Blue channel to the given value (write-only) Channel value types The Red, Green, Blue and Alpha channels are int channels (and since Grayscale is just a shortcut for assigning all three at once, it has the same limitations). This means assigned values will be rounded to whole numbers, but are allowed to go way below 0 or above 255. After the last channel modification, their values are clamped to 0-255 and then interpreted as the resulting RGBA color. Temp 1 and Temp 2 are double channels, therefore they can store floating-point values. Reading from Average returns a double. Assigning that value to an integer channel will cause the assigned value to be rounded. Operations Operations can be split into four types: constant, unary, binary or ternary, depending on the number and type of arguments they take. 1. Constant operation The constant operation takes one constant value as argument. Constant (value) - Returns value 2. Unary operations Unary operations take one source channel as argument. Identity (channel) - Returns value of the channel Invert (channel) - Returns 255 - value of the channel Absolute (channel) - Returns -1 * value of the channel if value of the channel < 0, or value of the channel otherwise 3. Binary operations Binary operations take two constant or unary operations as argument. For Divide, the arguments may be augmented with an additional constant. Minimum (arg1, arg2) - Returns arg1 if arg1 < arg2, or arg2 otherwise Maximum (arg1, arg2) - Returns arg1 if arg1 > arg2, or arg2 otherwise Add (arg1, arg2) - Returns arg1 + arg2 Subtract (arg1, arg2) - Returns arg1 - arg2 Multiply (arg1, arg2) - Returns arg1 * arg2 Divide (arg1, arg2, [value]) - Returns arg1 / arg2; if arg2 is a channel, provide value as return value in case the channel value is almost 0 (i. e. < 0.00000001) 4. Ternary operations Ternary operations take one source channel and two constant values as arguments. Clamp (channel, min, max) - Returns min if value of the channel < min, max if value of the channel > max, or value of the channel otherwise L-Threshold (channel, min, value) - Returns value if value of the channel < min, or value of the channel otherwise U-Threshold (channel, max, value) - Returns value if value of the channel > max, or value of the channel otherwise Specification A specification of all possible channel modifications, given in EBNF. Examples Create an opacity map (the darker, the more opaque): Grayscale = Identity Alpha Alpha = Constant 255 Transform into pencil sketch: Alpha = Invert Average Grayscale = Identity Average Swap the red and blue channel: Red = Identity Blue Blue = Identity Source Red Note that Blue = Identity Red does not work, because the first channel modification has already changed the value of the Red channel Legal notes I hate this part, too, but it is somewhat obligatory for software... The plugin is free to use for anything permitted by applicable law (including commercial purposes). You are however not allowed to modify or sell this plugin. Do not redistribute the plugin except by sharing links to this forum post please. If you want to include it in your plugin pack, please ask for my permission first. The plugin is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall I or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the plugin or the use or other dealings in the plugin.
  16. This is a plugin intended to help remove the backgrounds from images. I wasn't sure where to put it, but decided to make it an Adjustment. The controls are: Match Color is normally the color to be erased, but it can optionally be the color to keep. It can be either the User Match Color, or the Primary or Secondary Color. User Match Color is the Match Color when User Match Color is specified. Hue Tolerance determines how closely the pixel's hue must match the Match Color's hue. Saturation Tolerance determines how closely the pixel's saturation must match the Match Color's saturation. Value Tolerance determines how closely the pixel's value must match the Match Color's value. RGB Tolerance specifies the maximum allowed Euclidean distance between the pixel's RGB color and the Match Color's RGB color. Gray Upper Limit (S×V) specifies the threshold for product of the saturation and value below which the Match Color or pixel's color will be classified as gray. Gray does not match any hue except gray, unless the Gray Matches All Hues option is selected. Portion of Non-Erased Color to Preserve determines how much of the "non-erased" color should remain in the pixel. The color and alpha of the pixel are adjusted to account for the degree to which the pixel color matches the Match Color. Specifically (assuming the Match Color is being erased), the color is adjusted so that the alpha is as small as possible while keeping the same color if the pixel is alpha-blended into a Match Color background layer. This can be used to achieve a softer edge. Though its not really intended to be used when the Erase Non-Matching Pixels option is selected, it does work. The erased pixels will all be the Match Color, with appropriate alphas. The value can range from 0, to entirely erase the matching pixel, to 1, to preserve as much of the pixel's color as possible. Normally, it will probably be either 0 or 1. Gray Matches All Hues specifies that colors classified as gray match all hues. Erase Non-Matching Pixels specifies that matching pixels are kept and non-matching pixels are erased. Here is the source: Here is the icon: Here is the plugin: I will happily consider any suggestions to make the interface clearer. I will also appreciate any spelling corrections. EDIT: Fixed several bugs. Changed some of the wording in the interface. Added the RGB Tolerance. Changed the version to 1.1.
  17. Hello, Conditional effects plugin gives you the ability to run 6 effects, run in the order they're placed, from top to bottom, but only the colors matching the conditions are affected, you can choose between HSV or RGB conditions. Here's a picture of the dialog You change the From value with left click and To value with right click on the sliders and an example before: fiddling with a few of the effects i managed to remove yellow (bad example? i think so, i didn't really have time to make a better one ) And i gotta credit @evanolds for the sourcecode of his Conditional Hue/Saturation which helped me a lot with this 24-09-2010: Fixed a problem with inverting the HSV values on transparent backgrounds
  18. This plugin is designed for fine color adjustments. It appears under Adjustments menu. Download as part of my plugin pack. Menu location: Adjustments. Updated to version 1.2 (2008-12-24)! Changes: few code optimizations. Updated to version 1.1 (2008-08-31)! - Compatibility fix for 3.36 You can adjust saturation, brightness, contrast and hue for each color (hue) range separately or all together. Amount of adjustment between the ranges is changed gradually, so there is no sharp cut-off, for example between red and yellow. Due to high precision calculations in the code, this plugin renders saturation and hue better than PdN's original Hue/Saturation effect. (the issue has been discussed here) Example: this pic asks for some saturation, but regular saturation adjustment is likely to make sky over-saturated. That's where Color Mixer comes handy. Settings used: Saturation: base 134, cyan 83, blue 74 Brightness: cyan -13, blue -13 Contrast: yellow -13, green -28 I may want to improve the UI soon, so far all your requests are welcome. I have thought about placing all the hue nubs into a single continuous hue-gradient bar. Save/Load settings option is also on my wishlist (wish I knew how to do it :wink: ).
  19. Hue / Saturation Plus This plugin is for Paint.NET 4.0+ only. It will not work on v3.5.11 or below, sorry. NOTE: User evanolds has made a more feature rich version of this plugin.* I am releasing this as a demonstration for how to add slider decorations to 4.0 plugins.** *evanolds plugin can be found here: **Read the tutorial here: That said, here's what it looks like: Download Users can download here: BoltBait's Plugin Pack for Paint.NET v4.0+ I think the best way to get used to how this effect works is to play with this using a picture of a color wheel. That way you'll see how the condition works. The adjustments work exactly the same as the built-in Hue / Saturation effect. Programmer's Section Programmers can download the CodeLab script here: Download the Visual Studio project here: Enjoy
  20. Two Tone Threshold Found under: Adjustments .dll name = TwoToneThreshold Two Tone Threshold is an Adjustment which assesses the tones in an image and apportions two colours between the thresholds. In other words it turns colour images into black & white! ... or set your Primary and Secondary colours to something more lurid! ... or Primary color and alpha etc etc. It's in my updated plugin pack Red ochre v10 plugin pack As with all plugins - try it, if you like it, keep it - if not, uninstall it! There are many other plugins with a similar function but I wanted one where I could easily adjust the contrast via two thresholds. Enjoy!
  21. 'Color Matrix' Adjustment Plugin Summary Adjusts all individual pixels in the selected area of the active layer using a color transformation matrix. The plugin contains a set of predefined matrices to manipulate the individual RGBA channels, adapt transparency or to simulate the effect of different color blindness defects. Changing the matrix will show 'User defined' in the preset selector. Here the list of presets: Identity - Does nothing RGB (solid) - Sets the alpha channel to solid RGB (inverted) - Inverts the RGB channels and keeps alpha RGB to Gray - Converts RGB to gray and keeps alpha RGB to Gray (inverted) RGB to Transparency RGB to Transparency (inverted) RGB to BGR (or back) RGB to Sepia Red to Gray (solid) Red only (solid) Green to Gray (solid) Green only (solid) Blue to Gray (solid) Blue only (solid) Transparency to Gray (solid) Transparency to Gray (solid, inverted) Transparency only Cyan only (solid) Magenta only (solid) Yellow only (solid) Red-Blind (Protanopia) Red-Weak (Protanomaly) Green-Blind (Deuteranopia) Green-Weak (Deuteranomaly) Blue-Blind (Tritanopia) Blue-Weak (Tritanomaly) Monochromacy (Achromatopsia) Weak Monochromacy (Achromatomaly) How does it work? The following formula is applied to each pixel: (R,G,B,A,255) = (((R,G,B,A,255) / 255) * matrix) * 255 Result values <0 or >255 are clamped. The render code is simple because it just provides the image and the matrix to Windows GDI+. Keywords Adjustment, Color matrix, Color blindness Author Martin Osieka Download Find the latest version of the plugin ColorMatrix v1.1 (25.6.2015) here Installation Follow the instructions carefully Unzip "ColorMatrix.Effect" Copy the two files ColorMatrix.Effect.dll/.dlc to the Paint.NET\Effects\ folder A typical location is "C:\Program Files\Paint.NET\Effects". .dll contains the module code .dlc contains the module configuration (like translated text) Copy the two files OptionBasedLibrary vX.X.dll/.dlc to the Paint.NET\ folder (not to the Effects folder!) A typical location is "C:\Program Files\Paint.NET". After a restart of Paint.NET you will find the plugin at Menu->Adjustments->Color Matrix... oder für deutsche Anwender unter Menü->Korrekturen->Farbmatrix.. Compatibility Paint.NET 3.5.11 and 4.0.5 Supported languages The language used in the plugin depends on the language setting of Paint.NET and the support of this language by the plugin. The fallback is the first supported language of the plugin. Languages are defined in the .dlc files. This plugin supports the following languages in the moment: English Deutsch You may add your own translation to the .dlc file. Known issues None Example Using the matrix preset "RGB inverted" -1 0 0 0 0 0 -1 0 0 0 0 0 -1 0 0 0 0 0 1 0 1 1 1 0 1 Applying the formula R' = R/255; G' = G/255; B' = B/255; A' = A/255 R" = R' * -1 + G' * 0 + B' * 0 + A' * 0 + 1 = 1 - R' G" = R' * 0 + G' * -1 + B' * 0 + A' * 0 + 1 = 1 - G' B" = R' * 0 + G' * 0 + B' * -1 + A' * 0 + 1 = 1 - B' A" = R' * 0 + G' * 0 + B' * 0 + A' * 1 + 0 = A' R = R"*255; G = G"*255; B = B"*255; A = A"*255 History 1.1 (25.6.2015) - Added 'RGB (solid)' entry to set the alpha channel to opaque - Added column titles - Renamed the dll file. You have to remove the old ColorMatrix.dll/.dlc file - Updated OptionBasedLibrary 1.0 (16.5.2015) - First release
  22. This is a simple "whitepoint" correction plugin. It's ideal for images which have a slight color tint, and which contains some pixels which should be neutral grey. I wrote this plugin as my mobile camera usually ends up taking images with poor color balance, and I wanted a simple tool to correct it. I'm publishing it in case anyone else finds it useful. Usage: Select the Color Picker tool. Use the Color Picker to select a Primary Color which should be neutral grey. Select the Adjustments menu and select the Whitepoint plugin. If not satisfied, undo, try another color and run it again. Here's an illustration image. Example: Before image After image How it works: The plugin will apply a photo filter-like effect on the image using opposite color of the selected Primary Color, while preserving the brightness of the source color. For example, if the Primary Color is blue-green (cyan) it will apply a red photo filter. Download: Notes: Distributed under the LGPL license, the .cs file is for use with the CodeLab plugin, ignore it if you don't want to look at or modify the code. Note that picking a color from a uniform area works best, the brightness of the color is much less important. For the example picture below I picked a color from the shadowed area on the napkin, as can be seen in the illustration image above. For images with a lot of color noise it may be beneficial to downsize the image before picking a color to get a better basis color for the filtering. Undo the resize after you've picked the color. As always "garbage in = garbage out". This filter cannot undo destructive processes, so for example washed out highlights may not look good. It works best for images with a slight tint. Hope you enjoy
  23. TechnoRobbo's Alpha Mapper A plugin for blending images Graphically adjust how brightness translates to transparency. V 1.0.1 adds Plugin Browser preview Menu: Adjustments Techno-Colour Yawn
  24. Color Balance Whenever I take pictures indoors, the pictures always come out looking yellow. So, I needed a color correcting effect. I wanted to create something that would be MUCH easier than fiddling with the RGB levels adjustment that is already included in Paint.NET. The Idea I wanted to make an effect that would make my pictures less yellow. Well, if they are going to be less yellow they will have to be more... what? Blue? Yup. That's the opposite of yellow. Perfect! I figured a slider between yellow and blue would do the trick. And, while I'm at it, I might as well add a slider between Cyan and Red and a slider between Magenta and Green. (Not that I'll ever need those, but, what the hay!) Opposites Yellow is opposite of blue? Sure. Let's take a look at the color wheel: Basically, the arrows shown in this illustration are the sliders in the Color correction effect. In the RGB color model, Yellow is a combination of Red and Green. So, in the code, when we increase the level of Blue in our image, we decrease the levels of Red and Green (each by half of the Blue adjustment). If you notice, we have each of the primary colors on one end of the sliders and the combination of the remaining primary colors (called secondary colors) on the other end. The Effect DLL If you like it, you can download the precompiled effect here: BoltBait's Plugin Pack How to Use Typically, this effect is used to correct the colors of a photograph. Notice in the illustration of the color wheel above, all 3 arrows cross at white. The best way to adjust a photograph's colors is to look at the white areas of the photograph and try to adjust the sliders until you achieve a true white in those areas. For example, many times when taking photographs indoors, white walls will appear slightly yellow. Simply move the Yellow/Blue slider to the right until the walls appear white. Then adjust the other sliders to fine tune the resulting shade of white. It may take some tinkering with the sliders to get something close to a true white. Then, once you get the colors right, it may be necessary to adjust the brightness and contrast. By the way, this is a great way to "whiten" teeth, too. Waaaay easier than brushing. Tinting Another use of this effect is to tint images. First, change the image to Black and White (desaturate the image). Then run the effect and adjust the sliders for the desired coloring. As an example, you can make an image appear Sepia by making the image Black and White, then running the Color Balance effect and setting the sliders to 100, 85, and 75. Source Code The codelab script is fairly straight forward: void Render(Surface dst, Surface src, Rectangle rect) { int CyanRed = 0; // Slider, Range -100 to 100, default 0 int MagentaGreen = 0; // Slider, Range -100 to 100, default 0 int YellowBlue = 0; // Slider, Range -100 to 100, default 0 int r, g, b; PdnRegion selectionRegion = EnvironmentParameters.GetSelection(src.Bounds); Rectangle selection = this.EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); for(int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { if (selectionRegion.IsVisible(x, y)) { r = (int)src[x,y].R; g = (int)src[x,y].G; b = (int)src[x,y].B; // Cyan-Red adjustment r += CyanRed; g -= (CyanRed / 2); b -= (CyanRed / 2); // Magenta-Green adjustment r -= (MagentaGreen / 2); g += MagentaGreen; b -= (MagentaGreen / 2); // Yellow-Blue adjustment r -= (YellowBlue / 2); g -= (YellowBlue / 2); b += YellowBlue; dst[x, y] = ColorBgra.FromBgra( Utility.ClampToByte(b), Utility.ClampToByte(g), Utility.ClampToByte(r), src[x,y].A); } } } } Enjoy.
  25. Download from my plugin set Improve Your Photography With Classical Art! Inspired by a similar feature in Adobe Photoshop, this plugin uses an existing image as a color template to recolor your image. Works best on photographs. Logos and simple graphics will usually look rather hideous. Adjustments > Color Match... Here are some samples, using Microsoft Windows Vista's Sample Pictures folder. For reference, we'll start with the original, before using the plugin: The rest show the source image in the corner: Click "Show" for more examples Hidden Content: Download from my plugin set