Search the Community

Showing results for tags 'color'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Information
    • Forum Rules
    • Paint.NET Search
    • Official Paint.NET website
    • Help Files (the official paint.net 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

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


AIM


MSN


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 27 results

  1. This plugin can be useful for selecting objects in the image or for creation a color mask of object. The plugin is based on the script of Color Target plugin by rwp80. You can find it: Effects -> Color -> Color Range Previous downloads - 1605 ColorRange.zip This effect allows you to create a color mask of object in the image. You can then select the object using Magic Wand ( ) for further work with him. See short tutorial and examples of effect's work in the Color Range Test topic. CodeLab script: and icon: Examples of effect's technique you can found in How To Use Color Range effect topic. Примеры работы эффекта и приемы работы с ним вы можете посмотреть в уроке Как использовать эффект 'Цветовой диапазон'.
  2. Description: This effect converts each pixel brightness to hue spectrum color. Plugin has one slider to set spectrum offset. Plugin: Effects > Color > Trippy rainbow Examples: Github: https://github.com/PavielKraskouski/PaintDotNetPlugins/tree/master/TrippyRainbow Download: TrippyRainbow.dll
  3. RGB Compositor Effects -> Color -> RGB Compositor Description This will use a single channel from each photo to compose a full RGB value for the final image. The 8-Bit Guy on YouTube explains it well. NOTE: All three photos need to be the same size as your canvas. NOTE: No, this will not magically turn a Black and White photo to a color photo. Before (An image for each color channel) Red Green Blue After (Composed) Changelog v1.0 (Jan 6, 2019) Initial release Download RGBCompositor.zip Source Code https://github.com/toehead2001/pdn-rgb-compositor
  4. This is a very simple plugin originally intended to erase pixels in the canvas that don't match the clipboard, but extended so that it can optionally keep them instead. The clipboard image must be the same size as the canvas; otherwise, the effect does nothing. For no particularly good reason, other than I couldn't think of anything better, it's in the Color menu. The plugin: MismatchEraser.zip It's a CodLab plugin. Here is the source code:
  5. Hi All, This plugin is an improvement on Jotaf's Grim Color Reaper. I use this plugin a lot but wanted some improvements, suddenly I realized that the since I can code a little and I can use the skill (?) . As, Jotaf has mentioned in his post that it is opensource, so I made one mine on Codelab version 3.3. The enhancement it has that It lets you now to choose color through UI instead of going through selecting primary color. It also has an option for keeping color i.e. while Grim Color Reaper 'kills' a specific color, Kill Color Keeper has an option to preserve specific color while killing every other one. User Interface: UI is similar to Grim reaper. It has options for tolerance and cut off value. But as a significant improvement, that it has Color Wheel inside UI so you can pick up color as desired. Default is still Primary Color. There are two option for Keep color and Kill color. There are two sliders which are dedicated to these two functions. I could have made it work with same slider, but default value for kill Color always turned out to make whole image transparent for Keep Color Option. Also, there was a need of different slider description . So, I made two dedicated sliders for them with their own default value and own description. In version 1.1, there are two sliders: Function Kill Color has only one slider for it while Keep Color has two sliders dedicated to it. 1. Original Image: 2. Kill color white i.e. background. 3. Keep Color Blue i.e. for dresses here. (Please ignore mistakes in UI name & values, this screen print was taken before final DLL was built.) Versions 1.1 In Keep Color Option if the original image pixel were transparent like this Then Keep Color Options would turn transparent pixels in white color (i.e there were given some opacity while running effect). So new version checks that if Alpha is less than given threshold values. I used first sliders to ignore less opaque pixels. UI is changed, now both sliders will active for Keep Color and only first slider is active for Kill Color. Versions 1.2 Updated UI to select Color. Source Code: Kill Color Keeper.cs I personally call it 'Color keeper' but didn't wanted to leave word 'Kill', I choose one between these two candidates: "Keep Color Killer" and "Kill Color Keeper". I hope you all will find it useful. Download here: Download
  6. TechnoRobbo's Contour Filler V1.5.2 A gradient fill plugin that follows the contour of the Alpha Channel Make sure to deselect before using. Larger images take longer to render. Choose from smooth (zero slices) and stepped gradient Version 1.5.2 minor code cleanup Version 1.5.1 My apologies uploaded wrong version Version 1.5 has a smoothing component and new high speed code. Version 1.1 Updated for Paint.net 4.0 Menu: Effects -> Color Text Demo Quick Example on you Tube music by TechnoRobbo CHAPLIN Bogey1 https://www.dropbox.com/s/ioixkivgokaox9s/Bogart.png?raw=1 The VS Source Code The Plug-In TRsContourFiller.zip
  7. This plugin is like a more useful version of the color replacement tool. Whereas the standard tool merely paints over pixels if they're close enough to the secondary color, this plugin recolors every pixel a different amount based on how similar it is to the secondary color. For example I'll use this colorful image: Here's the built in tool replacing pink with cyan at about 30%: Notice the ugly, harsh edges and how some pinkish parts of the image are entirely untouched. Now my plugin replacing pink with cyan: No more ugly edges! My plugin changes all pixels of the image based on how similar each is to the secondary color. *Threshold changes how strongly pixels are recolored based on how similar they are to the secondary color *Roughness changes how quickly the recolor effect falls off after the threshold is passed when continuous replacement is selected. Lower values look 'nicer' but tend to give the image an overall tint *Continuous replacement recolors all pixels different amounts and looks really nice. Cutoff works similar to the normal tool as pixels over the threshold are not recolored at all - recolored pixels however are colored more 'accurately' than with the built-in tool. Note that this plugin works like the built-in tool inasmuch as the color used and the color replaced are the primary and secondary colors in the palette, respectively. advcolorrep.zip
  8. TechnoRobbo's Custom Palette Matcher v1.0.5 Conforms your image colors to your custom palette by finding the nearest color match. Version 1.0.5 Fixes Crash When No Palette Directory Exists Version 1.0.4 Browser system lets you sample palettes quickly. Version 1.03 add instant preview and interpolate option Update Version 1.0.2 Shows Transparency correctly in Palette Preview. Update Version 1.0.1 Allows manually created palettes(with errors) to be parsed and used. Manually created palettes should be loaded into PDN then saved again to correct the format. TR's Custom Palette Matcher will warn you of a bad palette but will try it's best to uses what it's given.. Menu: Effects->Color Video includes palettes posted by artists on this forum topic http://forums.getpaint.net/index.php?/topic/2947-color-palettes-go-here/?p=22185 Video Tutorial : New Browser The VS Source Code The Plugin TRsCustomPaletteMatch.zip
  9. This plugin has been updated by @Pratyush. Find the new version here Updated 9/10/2011: Right, it turns out that the original plug-in is no longer compatible with PDN. I fixed it, and also decided to make it open-source! This way I can take contributions to improve this, and maybe it will also help improve other plug-ins with this sort of alpha handling. The code is only a few lines of code long, but it uses (*gasp!*) MATH! Check it out if you're the coder type. The attached zip file includes both the DLL and source code (which you can open with CodeLab). Original post: Hi there! Long time lurker, first time poster. PDN has been my favorite graphics tool for quite some time. There's the old problem of recovering alpha information lost in compositing, for example when you *ahem* borrow images from the web. Say, smooth edge pixels on a black background; you'd prefer if they were transparent. A few plugins are available, and they do OK 90% of the time, but they fall short in recovering the original color information... See, it's not enough to figure out the alpha channel. You also have to use it to change the colors so they will look good when compositing again. Otherwise, there would be a visible halo (the color of the background) around the edge. AFAIK this happens with all existing plugins to eliminate backgrounds. So, I decided to make this one. I've got some pictures to demonstrate the effect and illustrate what I mean about the color correction GrimColorReaper.zip
  10. Change Extreme Colors From this to this What's this? I wanted a way to change the colors by selecting the extreme values (the darkest or the brightest). Here is the effect I just created for that. This plugin was made using CodeLab v3.2. Download it! Plugin ChangeExtremeColors.dll Here is the DLL http://jcljay.free.fr/pdn/ChangeExtremeColors.zip The MadJik's All plugins package is available! http://forums.getpaint.net/index.php?showtopic=7186 How to install Close Paint.net Classic version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects (please reverse / for correct path) Microsoft Store version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: My Documents/paint.net App Files/Effects (please reverse / for correct path) You have to adapt for your language My Documents How to use it This image is created to test the effect. I suggest you to copy and paste it in paint.net to run the plugin and get familiar with the settings. The sliders per channel define the range of colors to modify. And for each selected color you could increase/decrease with the amount for darkest or brightest. The range around 128 is just between darkest and brightest. Default values of the interface make no modification to the image. You have to change something. The User interface This plugin is added to the menu Effects, submenu Color. Limit for Red/Green/Blue Set the values per channel to define the range of colors to modify. Same values (Red) Checked by default. If checked the slider Red is used for all the sliders. Unchecked to be able to change Green and Blue. Dark Colors Checked by default. If checked the colors in the darkest range are modified. Dark adjustment Add/subtract the value to the colors in the darkest range are modified on each channel. Light Colors Checked by default. If checked the colors in the brightest range are modified. Light adjustment Add/subtract the value to the colors in the brightest range are modified on each channel. Average/Maximum of channels When “Same values” is checked the test of the color is made on the average of the channel or on the maximum value of each channel. Maximum is better for monochrome colors when one channel is 255 and others are 0. The Examples: Voilà! Enjoy! Let me see what you could do with it! update 2018-01-27 (thanks to @ReMake - Visual studio version - Linked sliders (instead greyed). - Translation to French and Russian
  11. TechnoRobbo's HDR-ish HDR style results - smooths out the transitions between light and dark. makes a dull picture less dull PDN 3.5 compatible (updated) Menu: Effects->Colors The Codelab Code Hidden Content: // Submenu: Color // Name: TR's HDR-ish // Title: TR's HDR-ish- v1.0 // Author: TechnoRobbo // URL: http://www.technorobbo #region UICode int Amount1 = 2; // [1,5] Intensity double Amount2 = 0; // [0,20] High Limit #endregion void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra CP; int tmp =0; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { double accum = 0; double divider = 0; for (int i = 1 - Amount1 ;i <Amount1; i++) { for (int j = 1 - Amount1 ;j <Amount1; j++) { CP = src.GetBilinearSampleClamped(x + j,y + i); HsvColor hsv = HsvColor.FromColor(CP.ToColor()); accum += hsv.Value; divider++; } } CP = src[x,y]; HsvColor hsv2 = HsvColor.FromColor(CP.ToColor()); divider += Amount2; divider = (divider <= 1) ? 1 : divider; double newV = accum / divider; newV -= (1-hsv2.Value); newV = (newV < 0) ? 0 : (newV > 100) ? 100: newV; hsv2 = new HsvColor(hsv2.Hue,hsv2.Saturation,(int)newV); ColorBgra NP = ColorBgra.FromColor(hsv2.ToColor()); dst[x,y] = NP; } } } TRsHDRish.zip
  12. Hi again! And now my 2nd plugin: Selective Toning (to be found in the 'Color' submenu) User Interface: Demo: Just before posting I saw the similarity to the "Advanced Color Replacement" plugin. I still decided to post my one here, because it features some what more configuration possibilities, a blending mode selector and the possibility to use the alpha channel. The last feature enables one to use this plugin similarly like the great "Color to Alpha" plugin. This plugin is once again entirely written using the fantastic "Code Lab" plugin -- thank you, Bolt Bait! Downloads: https://www.dropbox.com/s/xi707rcu0qf57lv/Selective_toning_v1.0a.zip?dl=0 Source files (for programmers): https://www.dropbox.com/s/qtij2zk4ex20lit/Selective Toning v1.0a Source.zip?dl=0 Best regards, Philipp
  13. Hi everybody! After browsing for some plugins and finally taking a look at "Code Lab", I eventually decided to create my own plugin: (to be found in the "Color" submenu) *Updated V1.1* Blending Modes directly applicable Download: https://www.dropbox.com/s/o10l8o28xcc3n51/selective_enhancement_v1.1.zip?dl=0 Source code (for programmers): https://www.dropbox.com/s/dkf5x9ohhtchzvl/selective_enhancement_source_1_1.zip?dl=0 It will spread out or push together colors close to the selected one and was useful for some of my manipulations. The two following pictures show the effect. You can also get some nice contrast enhancement by choosing black as the base color something like ~-10 for the enhancement factor and some playing around with "Black (Input)" and "White (Input)". User Interface: Demo 1: Demo 2: (uses blend mode "color burn" and reduced "White (Output)" value) Demo 3: (in hints under "poppy effect" is explained how to get this) Hints on usage: * Basic idea: Select a color, slide enhancement slider and then slide input black and white sliders closer together * Tone an image: Select a color, slide enhancement slider to negative values. * Contrast enhancement: Select black or white and slide enhancement slider to negative values. If black is selected slide input white to the left, if white is selected slide input black to the left. * Contrast enhancement 2: Slide color to a medium grey and enhancement slider to positive values. Slide input black and white more towards the middle. * Some poppy effect: Select a saturated color opposite to the effect color you want. Slide enhancement to high values. * Blending: Play around with the output white slider, too. It has the analogue function for blending, as the slider in layer blending options. Outline of how it works: * Pixel RGB values are converted to double precision floating point values from 0.0 to 1.0 * Selected color is then subtracted, sign and value stored separately * A power function with exponent depending on the enhancement slider is applied. This pushes the pixel color towards or away from the selected color * The modified offset is applied to the selected base color * The input black and white values are used to cut out a range of colors and scale the to the output colors (like some basic histogram change), (conversion back to integer is performed afterwards!) * Output colors are blended to original image (if box is checked) I hope you like my first post, :wink: best regards, Philipp
  14. Description: This plugin removes a color from the selected part of the image and tries to find a substitution for it by analyzing the surrounding parts. Download: https://www.dropbox.com/s/exmcdhpt35e07j5/Kill_color_v1_1.zip?dl=0 Source code (for programmers): https://www.dropbox.com/s/wgaptwrkqyz68pf/Kill Color_source_v1_1.zip?dl=0 Changelog v 1.1: * BUGFIX: "Tone Amount" now working as supposed * New option "Keep only pixels that changed" added => very useful duplicate layer first, use plugin on new layer with this option checked * Source Code is now available * Tweaks in how "Tolerance" and "Tone Amount" are working. Screenshots: Example 1: (Parameters for this one: Color (R, G, : 190, 189, 187 (Picked with :ColorPicker: from the image first) Tolerance: 30 (for v1.1: maybe ~70) Tone Amount: 30 (for v1.1: 100, a bug was preventing toning in v1.0) Radius: 40 Precision: 20 Relevance of Proximity: 60 (Less blurry) Relevance of Colordifference: 60 Weight (Replacement): 40 Weight (Selection): 25 (Low saturation is more important than brightness) Assume Transparency: 0 (The fence is solid and has no blurred out edges) ) Example 2: (Properties for this example: Color (R, G, : 38, 127, 0 (Picked with :ColorPicker: from the image first) Tolerance: 0.01 (Just one color used) (still o.k. for v1.1) Tone Amount: 30 (would be 100 in v1.1 (toning was not working in v1.0)) Radius: 40 Precision: 20 Relevance of Proximity: 60 (Less blurry) Relevance of Colordifference: 60 Weight (Replacement): 50 Weight (Selection): 50 Assume Transparency: 0 (Splatters aren't transparent) ) User Interface: Hints on Usage: * Select a color first * Tone amount and tolerance let you control on how much the image is altered. A bigger tone amount causes similar color tones to be stronger affected. Tolerance defines a minimum change in the color so that the pixel is affected at all. * Radius and precision affect how many pixels in the surrounding of the altered pixel are used to estimate a replacement color. * Relevance of colordifference and proximity settings affect how the replacement color is estimated. A large value for the first one will give stronger weight to colors with a larger difference in color and intensity. Setting the second one to a larger value will give the direct surrounding a higher weight for the replacement color. * The weight (color <-> intensity) sliders influence what is considered more important as difference. 50 will give a balanced weight, 0 will just look at the tone and 100 at the lightness. The selection property influences which pixels are affected, the replacement option influences how the pixel in the surrounding (used for replacement) are weighted. * Assume transparency can be used if the surrounding is toned a bit with the color. * The "keep only pixel which are altered" option (v1.1, scroll down to see it) will only keep pixel that are affected by the algorithm. The remaining pixels are set as transparent. Also instead of toned pixel color, the alpha is set to a corresponding value. This makes it easier to modify the outcome in a second step afterwards. * The algorithm includes converting RGB values to CIELab values. This is time consuming and therefore the plugin tries to cache the whole image in CIELab values during initialization. If this is not possible (low on memory) the plugin will still work but get significantly slower. To speed up a bit aliasing will then be performed for RGB and one conversion with this bilinear sample will be used for calculation. If you remove the check from the checkbox you can set the plugin to do the aliasing after CIELab conversion. This will slow down the calculation with probably a factor two or three but the resulting image is identical to what you get, if caching were possible. Suggestions: * Duplicate the layer first and use the "keep only pixel which are altered" (since v1.1). Effects (like a Gaussian blur and correction of areas youd don't want to be affected, can than easily be achieved) * Don't increase radius too much if not necessary (e.g. for larger areas of the color you want to remove). The result will become much more blurry and it takes longer. * For images with low structure decrase the relevance of proximity and increase it if the altered parts look blurry. * If the replaced color has some strange toning you probably assumed too much (or less likely too few) transparency. * Play around with the two weighting sliders (and tone amount/tolerance, relevance of colordifference). I first tried it out at some selected parts of the image and afterwards applied the effect to the whole image. Technical Details: * CIELab is used to compare colors and calculate colors. Therefore the plugin tries to cache the image in CIELab format. * The color you want to kill is compared with the pixel colors. The difference in combination with the tone amount value determines the change of a pixel. If the difference is below the tolerance value (some scaling is involved here) the pixel will stay. * Precision and radius determine a number of pixels surrounding the pixel that should be changed. A weighted average of the color is determined. The weight is calculated from a distance factor, a color difference factor, and the alpha value. * The distance factor is something between one (relevance of proximity zero) and pow(distance,-3). (Calculation is discrete for speed reasons, no Math.Pow() involved) * The color difference factor is determined by difference(ColorToKill, ColorFromSurroundingPixel). Weight(color <-> intensity) and relevance of colordifference have an influence on this function. * The source is not documented and quite messy. If you are interested nevertheless just p.m. me. I plan to rework it a little and put it online later on. The source is now available. Grab it if you are intersted. Future plans: * Optimize the loop structure, for better memory access => increased speed. * Optimize the bilinear interpolation, that transparent pixel will be excluded already for the bilinear filtered values. * A CUDA implementation (seems to be possible from first tests, but will probably take some time for me to write it) Have fun, Philipp Schäfer
  15. Expand color What's this? This effect was a bonus in the bottom list of my pack of plugins. Now with the Russian version (thank you @ReMake) it is time to have its own post. This effect compare the colors of the canvas with the primary (PC) and the secondary (SC) colors. Based on the ratio of the gap the color will be replace either by PC, SC or unchanged. It could be useful to reduce the weight of the image (less colors) and to turn the image in bicolored picture. Just a tool for fun. Download it! Plugin ExpandColor.dll Here is the DLL http://jcljay.free.fr/pdn/ExpandColor.zip The MadJik's All plugins package is available! http://forums.getpaint.net/index.php?showtopic=7186 How to install Close Paint.net Classic version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: /My Documents/paint.net App Files/Effects/ You have to adapt for your language My Documents The User interface This plugin is added to the menu Effects, submenu Color. Tolerance mini/maxi Range between the source color must be to be replace. Check with primary/secondary color The source color is compared with PC, SC or both depending on these checkboxes. Invert changed colors The colors of replacement are PC and SC inverted. Apply on Color channel Unchecked color channel is preversed from any change. The Examples: Before (photo from my own stock) After Before After Voilà! Enjoy! Let me see what you could do with it!
  16. Recolor gray What's this? This is not a realistic recoloring black & white image! Just a tool for fun. This is a (re)color plugin to recolor grey, gray or any color with a formula. It uses the values of each channels of the source within a formula to transform into fully colored image. Download it! Plugin RecolorGray.dll Here is the DLL http://jcljay.free.fr/pdn/RecolorGray.zip The MadJik's All plugins package is available! http://forums.getpaint.net/index.php?showtopic=7186 How to install Close Paint.net Classic version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: /My Documents/paint.net App Files/Effects/ You have to adapt for your language My Documents The User interface This plugin is added to the menu Effects, submenu Color. % Red/Green/Blue Tunable weight per channel in%: Angle This angle is used in the color calculation (not available in color mode 2 RGB). Color Mode The result of the formula serves as the base to determine the color. Four modes are possible: -Rainbow (Sinus) Color formula using Sinus calculation -RGB hexadecimal transformation to obtain R G and B channels. -Green-purple (Tang) Color formula using Tangent calculation (camaïeu of green and purple/rose) -Gray (Black, gray and white) The Examples: Before After Before After Before After Voilà! Enjoy! Let me see what you could do with it!
  17. This plugin is admittedly quite similar to TR's Custom Palette Matcher, but may be useful. It's in the Color menu. The Plugin: Recolor Using Palette.zip As the Help menu says: Recolor Using Palette replaces each pixel color with the nearest color from a specified range of the current palette. The Euclidean distance is used. This minimizes the sum of the squared differences of the red, green, and blue color components. The controls are: Starting Palette Index: The number of the first palette color to use. Palette colors are numbered from 1 to 96. Ending Palette Index: The number of the last palette color to use. Ignore Opacity When Comparing Colors: When this option is enabled, only the red, green, and blue color components are compared; the alpha value is ignored. The original alpha is preserved in the replaced color. When this option is disabled, the image and palette colors are adjusted to account for their alpha values before being compared. The distance between colors is the distance between the colors when blended with the background color that maximizes the distance. The original alpha is replaced by the alpha of the nearest palette color. Show Original Image: When enabled, the original, unmodified image is displayed. The UI: Instead of managing palettes like TR's effect, it relies on PDN's built-in palette handling, which I think is fairly easy to use. Recolor Using Palette allows a subrange of the current palette to be used. (Note the color-entry numbering is one-based, not zero-based.) On interesting (which is not necessarily the same as useful) feature is that it can take opacity into account when doing the comparison. When opacity is used in the comparison, the entire palette color, including alpha, replaces the image color; otherwise, the image alpha is preserved, and only the red, green, and blue are replaced. Here's a demonstration, using the default palette. Original image: With Ignore Opacity When Comparing Colors enabled: With Ignore Opacity When Comparing Colors disabled: (To be useful in this mode, the palette would likely need to be better suited to the image than it is in this case.) Ignore Opacity When Comparing Colors is disabled by default.
  18. TechnoRobbo's Color Reducer (and palette maker) v1.0.2 Scale down the color count in your image. Greatly reduce file sizes. Use the selection to limit the area modified, If reduced to less than 1000 Colors you can edit the color table. If 96 colors or less you can save a Custom Palette!!! Menu: Effect -> Color version 1.02 small UI fix version 1.01 includes brightness control and preview for Plugin Browser Plugin was originally written to reduce the size of the help file in The Plugin Browser. The Plugin TRsColorReducer.zip The VS Source Code for Programmers https://www.dropbox.com/s/rnhhfatjqgvoepk/TRsColorReducerSrc.zip?dl=0
  19. The Color Clearer plugin makes pixels that match the selected color transparent, and modifies the transparency and color of the other pixels to maximize their transparency while still producing the original color when blended with the normal blending mode to a background set to the selected color. It some sense, it removes as much of the selected color as possible from each pixel. Here is the (still simple) user interface: The Make Transparent Pixels Transparent White check box specifies that transparent pixels will be set to transparent white, rather than have their colors remain unchanged. I was careful to try to make the blended image after Color Clearer exactly match the original blended image, even when the original pixels are partially transparent. I hope I succeeded. Interestingly (I think), all the math is done using integer arithmetic. I attempted to do the same thing in HSV Eraser, but I didn't take into account the precise way PDN alpha-blends layers, so there were many cases where the resultant blended pixels were off by one. Here's an example, using an image from a previous discussion. The original image is: After using the Color Picker to choose the red background color, then running Color Clearer, the result is: If the second image is placed on top of a layer filled with the background color, the merged layers match the original image. Here is the DLL: ColorClearer.zip Maximilian has a 3.5.11 version. Here is the CodeLab code: EDIT: As noted next to the DLL, I intend to modify the plugin to choose better replacement colors. The current values work, in that the produce the proper colors when blended with the background color, but they are sometimes somewhat illogical choices. EDIT 2: A new version. I changed the color used when a number of colors will produce the correct blended result. I now choose the color that's nearest to the original color. For consistency, I left completely transparent pixels unchanged (except for alpha), unless an option is selected to make them transparent white.
  20. This is a rather minor plugin, but it might be useful. It's in the Effects>Color menu. (It was developed for creating my SOTW fire image.) Quoting the Help menu: Hot Metal Glow converts each pixel's color value into a color intended to mimic incandescent heated metal. The colors go from black, to red, to orange, to yellow, and finally to white. The color transition is only approximate. No attempt is made to imitate actual physics. An input pixel's color value is simply the largest of its RGB components. Brighter pixels are considered to be hotter, unless the Invert Color Range option is selected. The controls are: Celsius Temperature at Zero Value is the temperature assigned to 0 value pixels. Celsius Temperature at Maximum Value is the temperature assigned to 255 value pixels. Incandescence Threshold Temperature is the temperature at which the pixel will begin to turn red. Red Temperature is the temperature at which the pixel will be full-intensity red. (The behavior is modified by Red to Orange Shift.) Yellow Temperature is the temperature at which the hue of the pixel will be yellow. White Temperature is the temperature at which the pixel will be white. Red to Orange Shift specifies the point at which red shifts towards orange as the intensity increases. When 0, the hue remains red until the red is full intensity. When 1, the hue immediately begins to shift towards orange. (This control is useful for producing fire colors.) Orange Desaturation specifies the point at which orange will be desaturated. When 0, orange and yellow are fully saturated. When 1, orange begins to be desaturated at the Red Temperature. Invert Color Range specifies that the range of color values should be inverted, so black pixels are hottest. The Threshold, Red, Yellow, and White Temperature values must be in increasing order. If not, the values are clamped to force the order to increase, but the resulting colors are not likely to be useful. The user interface looks like this: Here is the DLL: HotMetalGlow.zip There's also 3.5.11 version, courtesy of Maximilian. Here is the CodeLab code: Hidden Content: // Name: Hot Metal Glow // Submenu: Color // Author: MJW // Title: Hot Metal Glow // Version: 1.2.* // Desc: Convert pixel color values into incandescence colors // Keywords: incandescence colors // URL: http://forums.getpaint.net/index?/topic/108875-hot-metal-glow/ // Help: #region UICode IntSliderControl Amount1 = 500; // [0,1400] Celsius Temperature at Zero Value IntSliderControl Amount2 = 1315; // [0,1400] Celsius Temperature at Maximum Value IntSliderControl Amount3 = 425; // [0,1400] Incandescence Threshold Temperature IntSliderControl Amount4 = 825; // [0,1400] Red Temperature IntSliderControl Amount5 = 1175; // [0,1400] Yellow Temperature IntSliderControl Amount6 = 1315; // [0,1400] White Temperature DoubleSliderControl Amount7 = 0.0; // [0,1] Red to Orange Shift DoubleSliderControl Amount8 = 0; // [0,1] Yellow Desaturation CheckboxControl Amount9 = false; // [0,1] Invert Color Range #endregion // This could be done with a 255 entry color table, but it doesn't work especially // well for CodeLab. int cMask; void Render(Surface dst, Surface src, Rectangle rect) { int minTemp = Amount1; int maxTemp = Amount2; if (minTemp >= maxTemp) maxTemp = minTemp + 1; int minRedTemp = Amount3; int redTemp = Math.Max(Amount4, minRedTemp+ 1); int yellowTemp = Math.Max(Amount5, redTemp + 1); int whiteTemp = Math.Max(Amount6, yellowTemp + 1); double redOrangeShift = Amount7; double yellowDesat = Amount8; double colorScale = 255.0 / (double)(maxTemp - minTemp); // (The "min" values are where the value is zero, but will change to non-zero.) int minRed = (int)(colorScale * (double)(minRedTemp - minTemp) + 0.5); int fullRed = (int)(colorScale * (double)(redTemp - minTemp) + 0.5); int minGreen = (int)(fullRed + redOrangeShift * (minRed - fullRed) + 0.5); double fullGreen = Math.Round(colorScale * (double)(yellowTemp - minTemp)); int minBlue = (int)(fullGreen + yellowDesat * (fullRed - fullGreen) + 0.5); int fullBlue = (int)(colorScale * (double)(whiteTemp - minTemp) + 0.5); double scaleRed = 255.0 / (double)(fullRed - minRed); double scaleGreen = 255.0 / (double)(fullGreen - minGreen); double scaleBlue = 255.0 / (double)(fullBlue- minBlue); cMask = Amount9 ? 255 : 0; // Optionally invert tohe color range for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; for (int x = rect.Left; x < rect.Right; x++) { // Get the value, which is just the maximum RGB value. int value = ColorValue(src[x, y]); byte r = 0, g = 0, b = 0; if (value > minRed) { r = (byte)Math.Min(scaleRed * (double)(value - minRed) + 0.5, 255); } if (value > minGreen) { g = (byte)Math.Min(scaleGreen * (double)(value - minGreen) + 0.5, 255); } if (value > minBlue) { b = (byte)Math.Min(scaleBlue * (double)(value - minBlue) + 0.5, 255); } dst[x, y] = ColorBgra.FromBgra(b, g, r, src[x, y].A); } } } int ColorValue(ColorBgra color) { return Math.Max(Math.Max(cMask ^ color.R, cMask ^ color.G), cMask ^ color.; } EDIT: Added Desaturate Yellow feature. I noticed in many examples of hot metal, the yellow was never fully saturated. EDIT 2: Fixed Help Menu to match UI. Control is called "Yellow Desaturation" not "Desaturate Yellow." EDIT 3: Added Red to Orange Shift feature. EDIT 4: In plugin, renamed Yellow Desaturation to Orange Desaturation. (Man, do I get tired of all the updates I have to make each time I change the interface!)
  21. I don't think this effect already existed (maybe I din't search enough), so I wrote this little effect today. Basically, this takes an opaque image along with a background/transparent color, and makes the image transparent in respect of the chosen color. The closer a pixel's color is to the chosen color, the more transparent it will become. This can be used, for example, to change the background color of an image. I took this image as an example: Then I applied my filter choosing some random blue color I could find in the sky of the picture: Here the image is really transparent (you might want to open it in Paint.NET to see better) and can blend really well on any background. Now I applied a dark background (just by adding a layer under the image, and filling it with the color) and the image looks like if it was the night This is still really simple, and you don't have any other parameter than the color yet. I hosted the plugin on my ftp here: [Download] If you have any questions or comment...
  22. This is very simple effect which allows to eliminate dark or light areas of the image. Good deletes black or white color (as a special case of dark or light, respectively). The effect has a very simple interface. You can find it under Effects-> Color-> Eliminate Dark/Light. Below the sourse code for CodeLab. This is аn icon for the effect: EliminateDarkLight.zip P.S. I decided to start a new topic, because the former name of the topic Eliminate Black/Eliminate White was wrong.
  23. TechnoRobbo's Intense Filtration v 1.3 PDN 3.5 compatible Based on a Topic conversation about Hue It's not a hue adjustment it's a color filter and augmenter v1.3 has an anti-clipping algorithm Menu: Effects->Color Demo Video CodeLab Source Code Hidden Content: // Submenu: Color // Name: TR's Intense Filtration // Title: TR's Intense Filtration- v1.3 // Author: TechnoRobbo // URL: http://www.technorobbo.com #region UICode int Amount1 = 4700; // [0,5999] Hue double Amount2 = .90; // [0,2] Gain int Amount3 = 0; // [0,2000] Filter Intensity byte Amount4 = 0; // [1] Fade To -|Base Image|B&W|Hue #endregion void Render(Surface dst, Surface src, Rectangle rect) { // Delete any of these lines you don't need Rectangle selection = EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); int CenterX = ((selection.Right - selection.Left) / 2)+selection.Left; int CenterY = ((selection.Bottom - selection.Top) / 2)+selection.Top; ColorBgra PrimaryColor = (ColorBgra)EnvironmentParameters.PrimaryColor; ColorBgra SecondaryColor = (ColorBgra)EnvironmentParameters.SecondaryColor; int BrushWidth = (int)EnvironmentParameters.BrushWidth; float[,] hues = {{1,0,0,1,1,0}, {1,1,0,0,1,0}, {0,1,0,0,1,1}, {0,1,1,0,0,1}, {0,0,1,1,0,1}, {1,0,1,1,0,0}}; ColorBgra CP; for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; for (int x = rect.Left; x < rect.Right; x++) { float coeff = (float)Amount2; float mix =1f - (float)Amount3 / 2000f ; //hues int hueIdx= Amount1/1000; float hueshift = (float)(Amount1 % 1000)/1000f; float r,g,b; r = hues[hueIdx ,3] * hueshift + hues[hueIdx,0] - hues[hueIdx,0] * hueshift ; g = hues[hueIdx ,4 ] * hueshift + hues[hueIdx ,1] - hues[hueIdx ,1] * hueshift ; b = hues[hueIdx ,5] * hueshift + hues[hueIdx , 2] - hues[hueIdx , 2] * hueshift ; CP = src[x,y]; //hue filtration * gain float tmpr = (float)CP.R * coeff * r; tmpr = (tmpr > 255) ? 255: tmpr; float tmpg = (float)CP.G * coeff * g; tmpg = (tmpg>255) ? 255: tmpg; float tmpb = (float)CP.B * coeff * b; tmpb = (tmpb>255) ? 255: tmpb; //grayscale float gray = (float)(CP.R + CP.G + CP.B)/3f * coeff ; gray = (gray >255) ? 255: gray ; //base image * gain float thresh = (coeff>1) ? 128: 255 ; float himax = 255f * coeff - thresh ; float CPR = (float)CP.R * coeff; CPR = (CPR >thresh ) ? (CPR - thresh ) * (255-thresh) /himax + thresh : CPR; float CPG = (float)CP.G * coeff; CPG = (CPG >thresh ) ? (CPG - thresh ) * (255-thresh)/himax + thresh : CPG; float CPB = (float)CP.B * coeff; CPB = (CPR >thresh ) ? (CPB - thresh ) * (255-thresh)/himax + thresh : CPB; //gray * gain float graymix = gray/255f; float gr = r * graymix * 255 * coeff ; gr = (gr >255) ? 255: gr ; float gg = g * graymix * 255 * coeff ; gg = (gg >255) ? 255: gg ; float gb = b * graymix * 255 * coeff ; gb = (gb >255)? 255: gb ; if (Amount4==0) { tmpr = CPR * mix + tmpr - tmpr * mix; tmpg = CPG * mix + tmpg - tmpg * mix; tmpb = CPB * mix + tmpb - tmpb * mix; }else if (Amount4==1){ tmpr = gray * mix + tmpr - tmpr * mix; tmpg = gray * mix + tmpg - tmpg * mix; tmpb = gray * mix + tmpb - tmpb * mix; }else if (Amount4==2){ tmpr = gr * mix + tmpr - tmpr * mix; tmpg = gg * mix + tmpg - tmpg * mix; tmpb = gb * mix + tmpb - tmpb * mix; } CP .R = (byte)tmpr; CP .G = (byte)tmpg; CP .B = (byte)tmpb; CP.A = (byte)CP.A; dst[x,y] = CP; } } } TRsIntenseFilteration.zip
  24. Color Aberation Effect Plugin model / effect ( original model from http://www.photo-libre.fr ) What's this? This is a plugin to move separatly the RGB chanel in % or in pixels. It could be a way to create home made 3D picture but the 3DGlasses aren't provided... Mixed with/over picture it could give some interesting aspect... Download it! Plugin coloraberation.dll Here is the DLL Created with CodeLab... Upgraded to Csharp version (thanks to @ReMake) The MadJik's All plugins package is available ! http://forums.getpaint.net/index.php?showtopic=7186 How to install Close Paint.net Classic version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Paint.net Unzip and (re)place the DLL in your Effect folder usually: /My Documents/paint.net App Files/Effects/ You have to adapt for your language My Documents The User interface This plugin is added to the menu Effects, submenu Color. Offset Red/Green/Blue: ...you set the displacement per chanel. The amount is in % by default but you could choose to use pixels. In this case the amount is x100 : 1.0 = 100 px. Border behave: ...Choose what to do at the borders: Clamp : Keep and repeat the last pixel from the borders. Warp : If the image leaves the area on a side then it reappears on the opposite side. Bounce : Repeat the image from the border as a mirror. Original : Leave the original picture. Primary/secondary color : Fill with the selected color. Offset unit: ...you could slect purcentage or pixels as unit for the offset controls. Link chanels: ...All offsets use the Red values so each chanel uses the same amount... Effect Mix: ...This is a slider to mix the final image with the orignal image to make the effect more or less subtile. The Examples: Model / Result : Model / Result : This is a way to confirm that the yellow color is made of red and green...
  25. TR's B&W Photo Back in the day B&W Photographers used Color Filters to reinterpret the way color became greyscale. Photographers like Ansel Adams shooting with huge accordian View Cameras used high F-Stops which produced realy cool hotspots in the center of the B&W Image. (Ansel Adams was also quite partial to using red and yellow filters to darken the sky). This plugin simulates the use of color filters and hot spots in B&W photography. Menu: Effect->Color Demo Video Filter Examples untouched Original B&W with Red Filter w/hotspot The Code // Submenu: Color // Name: TR's B&W Photo // Title: TR's B&W Photo - v1.0 // Author: TechnoRobbo // URL: http://www.technorobbo #region UICode byte Amount1 = 0; // [1] Color Filters|Red Filter|Green Filter|Blue Filter|Cyan Filter|Magenta|Yellow Filter double Amount2 = 0.75; // [0,1] Hot Spot Effect #endregion void Render(Surface dst, Surface src, Rectangle rect) { Rectangle selection = EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); int CenterX = ((selection.Right - selection.Left) / 2)+selection.Left; int CenterY = ((selection.Bottom - selection.Top) / 2)+selection.Top; double maxrad = Math.Sqrt(CenterX * CenterX + CenterY * CenterY); ColorBgra CP; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { double fade = Math.Sqrt((x-CenterX) * (x-CenterX) + (y-CenterY) * (y-CenterY))/ maxrad; fade *=fade; fade = (1-fade) * Amount2 + 1 - Amount2; CP = src[x,y]; switch (Amount1){ case 0: CP.G= CP.R; break; case 1: CP.R=CP.G; break; case 2: CP.R=CP.B; break; case 3: CP.R= Int32Util.ClampToByte((CP.B + CP.G)/2); break; case 4: CP.R=Int32Util.ClampToByte((CP.R + CP.B)/2); break; case 5: CP.R=Int32Util.ClampToByte((CP.R + CP.G)/2); break; } byte newbyte = Int32Util.ClampToByte((int)(fade * (double)CP.R)); CP.R = newbyte; CP.G =newbyte ; CP.B = newbyte ; CP.A = CP.A; dst[x,y] = CP; } } } TRsBWPhoto.zip