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 34 results

  1. 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
  2. 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!)
  3. 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...
  4. 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
  5. 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...
  6. 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
  7. Pseudo Greyscale from Pseudo-Random Noise. The plugin takes your color image and de-saturates it by shifting the pixel colors randomly. I included a Span and Offset control to adjust the hue and intensity of the de-saturation, Sorry no video instructions - this ones too easy to use. Under the Effects->Color->Noise Bleacher Bug Fix Version 1,1 Span Zero crash fixed. 1:27 AM Tuesday, June 11, 2013 (UTC) Interesting when zoomed: The Code: Hidden Content: // Submenu: Color // Name: Noise Bleacher // Title: Noise Bleacher - v1.1 // Author: TechnoRobbo // URL: http://www.technorobbo #region UICode int Amount1 = 1; // [1,360] Span int Amount2 = 0; // [0,180] Offset #endregion void Render(Surface dst, Surface src, Rectangle rect) { Random rndm = new Random((int)Guid.NewGuid().GetHashCode()); ColorBgra CP; int tmp =0; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { CP = src[x,y]; tmp= rndm.Next() % Amount1; HsvColor hsv = HsvColor.FromColor(CP.ToColor()); int H = (hsv.Hue + tmp + Amount2) % 360; int S = hsv.Saturation; int V = hsv.Value; hsv = new HsvColor(H,S,V); ColorBgra NP = ColorBgra.FromColor(hsv.ToColor()); NP.A = CP.A; dst[x,y] = NP; } } } NoiseBleach.zip
  8. Hi all. This is my first plugin. If you know me at all, I make a lot of abstract art. I also use the Blend Mode Negation a lot, and wanted to build a shortcut to the process of duplicating and negating layers repeatedly. While working on my intended use for the plugin (will probably end up coming in a separate plugin), I decided to mess around with a few extra variables, and built the plugin as a coloring tool. What this tool basically does is the equivalent of taking a selection, adding it to another layer, setting the layer mode to "Negation", and flattening it down. Repetitions: The amount of times to do a negation. 2 for example is equivalent to duplicating the layer, setting it to negation, and flattening it twice. It only goes up to 8 because apparently on the ninth time it'll revert to the original picture. Negate Red/Green/Blue: These are the color channels that are negated. Default is all three. Unselecting one seems to have a Color Zoom Blur-like effect on that channel (without the Zoom Blur) Red/Green/Blue Amount: Adjusts the modulus of that specific channel during the negation process. In non-technical terms, it has a customizable color zoom blur-like effect. Seems to have less jagged edges near the centerpoint (510). Don't understand any of the above? Here's what some different effects do to a seed image: Seed Image (dented black-white gradient, nothing special) Self-Negation with Repetitions: 1 Self-Negation with Repetitions: 3 Self-Negation with Repetitions 2 and unchecked "Negate Blue" Same as above, but pulled Red Amount up to 600. Same as above, but pulled Green Amount down to 435. Actual Plugin Self-Negation.zip
  9. Reverse Color Effect Plugin What's this? This is a plugin to reverse separately the value of each RGBA channel. This was firstly made to reverse the alpha channel to obtain some nice effect with transparent rendered textures or objects. And I decided to extend to the other RGB channels... Download it! Plugin reversecolor.dll Here is the DLL Created with CodeLab... 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. Inverse Red/Green/Blue/Alpha: ...check the box to reverse the desired channel. Minimum Red/Green/Blue/Alpha: ...choose the minimum value. If the channel value is lower then the channel doesn't change else the value is reversed. Maximum Red/Green/Blue/Alpha: ...choose the maximum value. If the channel value is higher then the channel doesn't change else the value is reversed. So to be reversed a value must be in the range Minimum, Maximum. The Examples: This is some guide lines on how to use this (and what for): Example A: A.1. On a new image with white background, add a new layer. A.2. Run the kaleidogen A.3.a If you run the Reverse color effect and set the minimum alpha to 20-60... A.3.b Or if you run the Reverse color effect with these settings... A.3.c Or if you run the Reverse color effect with these settings... Example B: B.1. On a new image with white background, add a new layer. B.2. Set the primary color to Black and the secondary color to transparent: B.3. Create some (radial) gradients: B.4.a If you run the Reverse color effect with these settings... B.4.b Change the background to black. Then if you run the Reverse color effect with these settings... Example C: C.1. On a new image with black background, add a new layer. C.2. Run the render effect roses C.3.a If you run the Reverse color effect and set the range for alpha to 50-120... C.3.b Or if you run the Reverse color effect with these settings... VoilĂ  !