Search the Community

Showing results for tags 'photo'.

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

  1. Tomorrow is my birthday, but today you get the present! Remember when I wrote the Portrait plugin, MadJik wrote: Well, ETA is TODAY! It automates a bunch of steps that I make when fixing landscape pictures. It is obviously not right for everything, but I find it useful. Hopefully you will too. Download the Landscape.dll as part of my plugin pack here: If you have trouble installing this plugin, post your troubles here. Enjoy. For those that are interested in such things, here is the CodeLab source: // Author: BoltBait // Submenu: Photo // Name: Sharpen Landscape // URL: #region UICode Pair<double, double> Amount1 = Pair.Create( 0.0 , -0.25 ); // Position of Horizon int Amount2 = 50; // [0,100] Sky int Amount3 = 50; // [0,100] Grass int Amount4 = 100; // [0,200] Sharpen int Amount5 = 50; // [0,100] Saturation int Amount6 = 50; // [0,100] Final Multiply Adjustment #endregion // Setup for using the various blend ops private UserBlendOps.OverlayBlendOp overlayOp = new UserBlendOps.OverlayBlendOp(); private UserBlendOps.ColorDodgeBlendOp dodgeOp = new UserBlendOps.ColorDodgeBlendOp(); private UserBlendOps.MultiplyBlendOp multiplyOp = new UserBlendOps.MultiplyBlendOp(); private UnaryPixelOps.HueSaturationLightness saturationOp; unsafe void Render(Surface dst, Surface src, Rectangle rect) { Rectangle selection = this.EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); ColorBgra Sky = ColorBgra.FromBgr(255,128,0); ColorBgra Grass = ColorBgra.FromBgr(0,128,0); int HorizonRow = (int)Math.Round(((Amount1.Second + 1) / 2) * (selection.Bottom - selection.Top)); saturationOp = new UnaryPixelOps.HueSaturationLightness(0, 100+Amount5*3, 0); // Setup for calling the Blur function GaussianBlurEffect blurEffect = new GaussianBlurEffect(); PropertyCollection bProps = blurEffect.CreatePropertyCollection(); PropertyBasedEffectConfigToken bParameters = new PropertyBasedEffectConfigToken(bProps); bParameters.SetPropertyValue(GaussianBlurEffect.PropertyNames.Radius, 1); blurEffect.SetRenderInfo(bParameters, new RenderArgs(dst), new RenderArgs(src)); // Call the Blur function blurEffect.Render(new Rectangle[1] {rect},0,1); // Now in the main render loop, the dst canvas has a blurred version of the src canvas for (int y = rect.Top; y < rect.Bottom; y++) { ColorBgra* srcPtr = src.GetPointAddressUnchecked(rect.Left, y); ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { // Create a blue gradient at the top if (y < HorizonRow) { Sky.A = (byte)(int)((255.0 - (255.0 * y / HorizonRow ))*(Amount2/100.0)); } else { Sky.A = (byte)0; } // Create a green gradient at the bottom if (y > HorizonRow) { Grass.A = (byte)(int)((255.0 * (y-HorizonRow) / (selection.Bottom-HorizonRow))*(Amount3/100.0)); } else { Grass.A = (byte)0; } ColorBgra AdjustmentPixel = *dstPtr; ColorBgra SourcePixel = *srcPtr; // Sharpen (unsharp mask) double NewR = (double)SourcePixel.R + ((double)SourcePixel.R - (double)AdjustmentPixel.R) * (double)Amount4 / 100.0; double NewG = (double)SourcePixel.G + ((double)SourcePixel.G - (double)AdjustmentPixel.G) * (double)Amount4 / 100.0; double NewB = (double)SourcePixel.B + ((double)SourcePixel.B - (double)AdjustmentPixel.B) * (double)Amount4 / 100.0; AdjustmentPixel.R = Utility.ClampToByte(NewR); AdjustmentPixel.G = Utility.ClampToByte(NewG); AdjustmentPixel.B = Utility.ClampToByte(NewB); // Boost the saturation *dstPtr = saturationOp.Apply(AdjustmentPixel); // Add in the sky and grass *dstPtr = multiplyOp.Apply(*dstPtr, Sky); *dstPtr = dodgeOp.Apply(*dstPtr, Grass); // Finally, add a little "punch" to the overall picture AdjustmentPixel = *dstPtr; AdjustmentPixel.A = (byte)(int)(Amount6 * 255.0 / 100.0); *dstPtr = multiplyOp.Apply(*dstPtr, AdjustmentPixel); srcPtr++; dstPtr++; } } } Thanks to Tanel for the Sharpen (unsharp mask) code.
  2. So, I was scanning a ton of photographs today and kept having to do the same steps to remove dust from the images. I automated it into a plugin. Enjoy. // Name: Remove Dust // Submenu: Photo // Title: BoltBait's Remove Dust v4.0 // Author: BoltBait // URL: // Desc: Remove dust from scanned photographs // KeyWords: dust|stamp|scan|clone #region UICode byte Amount1 = 0; // [1] Dust Color|White|Black #endregion // Setup for using Lighten blend op private BinaryPixelOp lightenOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Lighten); // Setup for using Darken blend op private BinaryPixelOp darkenOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Darken); // Here is the main render loop function unsafe void Render(Surface dst, Surface src, Rectangle rect) { for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; ColorBgra* prevPtr = src.GetPointAddressUnchecked(rect.Left, y); 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; if (Amount1 == 0) { // Remove white dust CurrentPixel = darkenOp.Apply(*prevPtr, *srcPtr); } else { // Remove black dust CurrentPixel = lightenOp.Apply(*prevPtr, *srcPtr); } *dstPtr = CurrentPixel; prevPtr = srcPtr; srcPtr++; dstPtr++; } } } There is no UI. Just run it and the white dust specks are gone. There is now a simple UI. Select White or Black and those color specks are gone! It's not perfect. It only works on very small specks. Basically what it does is Clone Stamp them out. Install the dll in the normal way. Then, restart Paint.NET and look in Effects > Photo > Remove Dust for the effect. Download Here For Paint.NET 3.5.11: For Paint.NET 4.0+: I'm thinking "Plugin of the Year". Yes?
  3. TechnoRobbo's Dodge and Burn (Adjustment Brush) DPI at V 1.4.0+ A Photo Retouching Tool This is a Plugin that was requested by Pratyush This simulates the classic photographic printing effect and adds a color aspect. It has plenty of "undo's" but a simple interface. Use Left Click to Apply and Right Click to Move around. Brush Designs , Blur and Sharpen suggestion by Eli. Full Screen and others suggested by Red Ochre Deasuration suggested by racerx Color Blend , Luminosity, Saturation and Contrast suggested by Pratyush Version 1.4.0+ includes changes by AnthonyScoffler Fix: removed pre-multiplying of alpha channel in output image Easier to read color button CTRL+Z for undo Hold Ctrl + Mouse Wheel to change the brush size Take a bow Anthony! Hidden Content: Version 1.3.28++ Bug Fix Custom Brush Version 1.3.23 - Turning off Shade Lock takes on new settings Version 1.3.22 - Each Shader retains it's individual Exposure & Intensity Settings Version 1.3.20 - ShadeLock is now persistent Version 1.3.18+ tested to 192 DPI 1920 x 1080 Version 1.3.17+ Fixes Luminosity and Add Mouse Wheel Control Version 1.3.15+ ColorBlend and Luminosity Modes suggested by Pratyush Version 1.3.14+ New Brush Designs by Eli, Enhanced Zoom (Zoom Out) Version 1.3.13+ adds a Contrast brush, fixes Red & Blue Checkbox switch Version 1.3.12+ Streamlines the Panning Version 1.3.11+ LockShade bug fix Version 1.3.10+ applies Color Checkbox to All Modes Version 1.3.9+ Hue Rotation + Preview v 1.3.8+ adds Saturation (and an Alpha Channel bug fix) v 1.3.7+ adds Desaturation Version 1.3.5+ Stippling, ClipBoard for Bachground Reference,Double-Click on Title to see menu. Version 1.3.4+ Opens to full screen Version 1.3.3+ Fixes a clamping issue at Left Border Version 1.3.2+ adds Blur and Sharpen Version 1.2.1 Zoom feature and Shade Lock Version 1.1.2+ fixes Hard Brush Version 1.1.1+ Different Brush patterns - Load a custom brush Menu: Effects->Photo
  4. The main purpose of seam carving is to reduce the width (or height) of an image without scaling (squishing) the image. This effect calculates the line through your photograph with the least amount of changes and deletes that line shifting all pixels over to fill the gap. This is often called "content aware resizing". Use This effect is designed to be used with natural photographs. It is not designed to be used with an active selection. So, before running the effect, press Ctrl-D to remove any active selection. Run the effect and click the OK button. One line of your image will be removed. Note: Version 1.5 allows more than one line to be cut at a time. However, there is a limitation on how many lines can be safely cut at one time. You may find that only a few lines may be cut before you need to run the effect again so that more lines can be safely cut. Version 2.0 removes this limitation. Please be patient when carving more than a few lines at a time. Due to the nature of the algorithm, the entire effect is run in a single thread. So, it may take a few seconds for the effect to show up after you move the slider. If you wish to shrink your photograph even further, press Ctrl-F to redo the effect. Continue pressing Ctrl-F until your photograph is the desired size. Protecting Elements This effect will only carve out areas with full alpha. That is, it will ignore areas of your image where the alpha is set below 255. You can use this to your advantage by selecting any area you wish to protect then use the Adjustments > Transparency plugin to lower the transparency slightly. Once you've finished with all of your carving, use the Adjustments > Transparency plugin to restore your image to full opacity. Download (For 4.0.6+): You'll find it in your Effects > Photo > Seam Carving menu. NOTE: This is slow on camera sized images. Sliding the slider up to 200 could take a couple of minutes to see anything. This is all due to the fact that it is running the algorithm in a single thread. Updates v2.2 - Improved messaging. Added to my plugin pack. v2.1 - Memory usage cut in half, speed improved, messaging improved. v2.0 - Increases carves up to 200 lines at a time, removed "see it" option. v1.5 - Carve more than one line at a time. v1.1 - Fixed bug where it was producing jagged edges. v1.0 - Initial release. _________________ More info about seam carving here: _________________
  5. Green Tint Reduction Effects -> Photo -> Green Tint Reduction Description Reduce green tint without introducing Magenta. Technical Description When reducing the Green channel to a reasonable amount, parts of a photo can became Magenta. I wrote a script to check for Magenta's Hue range. That worked, but it had the side-effect of Reds becoming desaturated. Therefore, I also had it check the Saturation amount within that Hue range. Instructions Set the Tint Reduction, and then lower the Red Tolerance as needed. Afterwards, further color adjustment could done with Curves, Levels, ect. Examples Change Log v1.0 (Oct 2, 2017) Initial release Download Source Code Icon based on an icon from Fugue.
  6. This plugin extracts a color range from image, by leaving pixels of selected color opaque and making the rest transparent. Only alpha values are altered, color remains intact. It is useful if you need to edit certain colors on your image separately: duplicate the image layer and run the plugin to get color-based "selection" for further editing. It is more flexible than Magic Wand or Curves+ which could provide similar results but not always exactly as needed. Menu location: Effects > Photo. Download as part of my plugin pack. Updated to version 2.2 (2008-12-24)! Changes: few UI and code optimizations; moved to Color submenu. Updated to version 2.1 (2008-08-31)! - Compatibility fix for 3.36 Changes in v2 (2008-01-23): - Effect is now located in Adjustments menu - Added check box "Override Original Alpha" (see details below) - Few minor bugfixes Use the six color controls (on top) to define your color selection, and three adjustment controls (on bottom) to adjust the output. For ease of use, the default color range is defined around primary color. So I suggest to use color picker tool before starting the plugin. Check box near each color control defines whether you restrict color by this parameter or not. Unchecking equals to selecting the full range. Tolerance control makes alpha to fade off gradually, based on color's similarity to selected color. Max tolerance makes full alpha gradient from selected color to it's opposite (for example from full bright to full dark, if brightness from 255 to 255 is selected). Feather control softens edges by blurring alpha channel by selected radius. I recommended to adjust this after all other controls are set, due to heavy impact on processing speed. Base Opacity control adjusts alpha of "non-selected" color. Invert Alpha check box inverts final alpha. Override Original Alpha check box controls how to handle originally transparent/semitransparent pixels: - unchecked (default) -> transparent pixels remain transparent, even if pixel's color match your selected color - checked -> transparent pixels turn opaque if pixel's color match your selected color Reset button returns to default setting (that is: color range from primary color and other controls zero). Note: greyscale pixels are also treated as color, defined by Hue=0, Saturation=0. Example: here I attempted to extract skin tones from the photo. I started with color picker tool and clicked in the middle of his raised arm to get a good color sample. Then opened the plugin, adjusted the color range a bit, finally feathered by amount of 4. Screenshot: You can learn the behaviour of this plugin on my test image, containing hue, saturation and brightness gradients: link. Tip: Feather, Base Opacity and Invert Alpha can be also used independently from color controls (with unchecked Hue/Sat/Brigh); so you may find alternative uses: - Feather - Base Opacity: to "un-erase" erased areas - Invert Alpha: to invert opacity Enjoy!
  7. pyrochild


    Download from my plugin set
  8. I prefer to sharpen my photos with unsharp mask, because of finer results compared to built-in sharpen effect. So far I had to use other programs for that operation. Switching between programs is annoying - so I decided to learn the code and design a plugin with features I need. Hope you find it useful too. Menu location: Effects > Photo. Download as part of my plugin pack. Updated to version 3.1 (2008-12-24)! Changes: few UI and code optimizations. Updated to version 3 (2008-08-31)! Changes: Threshold control is re-designed to have much better feel and control over the result. Previous threshold had strong impact already from very small values, while large values were quite useless. The new one is literally "zoomed in" to small values only, so it is easy to find good setting with scrollbar. Updated to version 2 (2008-01-03)! Changes: - re-located the effect into Photo submenu - added Review button (press & hold the button to see original image, release it to see changes) - improved keyboard usability - reduced default Radius to 1 which is more suitable for most of images, especially for screen size photos - Color Mask has now some real impact on results: by aming strength based on pixel color. Range is expanded to 0-200 - Tonal Range control in Highlights tab is reversed, in order to work in same direction as in Shadows tab: increasing the value expands the range - Faster rendering after OK click, especially when image fits to window - Code optimized for Paint.NET 3.2 (though it's still not a PropertyBasedEffect) - Source code available (VS2005 express): Using the plugin: * use three main controls (on top) to achieve required effect * use adjustment controls (in tabs) to fine-tune the result * re-adjust any control if needed Main controls Those are traditional unsharp masking controls (learn more here): Amount - percentage of sharpening to be applied 100 - 200 usually does the job. Radius - width of area (pixels) around edges to be sharpened 1 is good for small (web) images; 2 - 3 for large (several MP) images. Threshold - minimum level of pixel contrast (brightness difference between pixels) to be sharpened Use it to prevent sharpening of even surfaces like sky or skin. Keep at zero if you want to sharpen fine details. Adjustment controls those naturally don't apply any additional effect, but rather adjust it's strength by percentage from main Amount: Edge Balance Bright Borders - Percent of amount applied to bright side of edge Use it to reduce sharpening halo if it becomes too visible, or prevent oversharpening of bright fine detail, like sunlit hair. Dark Borders - Percent of amount applied to dark side of edge Use this to reduce dark halo (rarely needed). Note: it is not recommended to use Bright and Dark controls together: it would effectively reduce overall amount of sharpening (setting both to 0 is equal to setting main amount to 0). Shadows Strength - percent of amount applied in shadows Use it to reduce sharpening impact to image noise (noise is usually most pronounced in shadows). Tonal Range - level of brightness (at 0 - 255 scale) where shadows adjustment will be applied Range is "soft" control: strength of sharpening rises gradually back to normal through 50 next levels above selected level. Tip: set Strength to 0, move around Range control to find the brightness level where noise kicks in, then re-adjust Strength to appropriate amount. Highlights Strength - percent of amount applied in highlights Tonal Range - level of brightness (at top of 0 - 255 scale) where highlights adjustment will be applied Range is "soft" control: strength of sharpening rises gradually back to normal through 50 next levels below selected level. Color mask Adjusts strength of effect based on pixel color Notes * Strength of controls is NOT equal to "other brand" sharpening tools (like USM in Photoshop or Gimp). For example radius 2 in this plugin is close to radius 1 in Gimp USM (due to differences in Gaussian blur rendering). So don't apply settings recommended in Photoshop tutorials - better trust your own eyes. * Sharpness (edge contrast) is increased through brightness channel only - thus no hue shift is caused (as far as color channels are not clipped); this is another difference from "other brand" USM tools. * Shadow and highlight areas are detected from blurred grayscale image, to achieve more even output spread. Alternative use: Instead of sharpening you can use this plugin for local contrast enhancement - to give extra clarity to a flat, hazy image; for example following settings: Amount 20, Radius 80, Threshold 0. (Be patient with this one: the larger the radius, the slower the effect runs - due to Gaussian blur function rendered in background). ------------------ General recommendations for sharpening (collection of unwritten rules I try to follow) * Sharpening only works on sharp images. Use it to remove lens softness or give 3d look to otherwise flat image. * Don't try to fix blurry images with sharpening - it only makes things worse. Leave it blurry or shoot the photo again. * Sharpening should be the very last image processing operation before save / print, as it actually distorts image detail for better appearance (Generally my preferred workflow is: white balance -> noise reduction -> levels/curves/contrast -> saturation -> crop/resize -> sharpening). * The best sharpening settings depends on output - whether it is web image, small print or large print - every kind has different needs. Do experiments to find most appropriate settings. * For best output preview (to predict the results), use 100% zoom while sharpening a web image, use 50% zoom if sharpening for print. * Images appear sharper on LCD monitors than CRTs. So be careful while using CRT. * Mass production printers at photo stores automatically sharpen every jpg image (while they may keep tif's intact). So keep your settings modest or don't sharpen at all if you are going to use those services.
  9. This plugin is designed to fix excessively contrasty photos, by brightening shadows and/or darkening highlights. Menu location: Effects > Photo. Download as part of my plugin pack. Updated to version 2.2 (2008-12-24)! Changes: few UI and code optimizations; moved to Photo submenu. Updated to version 2.1 (2008-08-31)! Changes: - Plugin now starts with default settings loaded (shadows: 100; smoothing 50) - Compatibility fix for 3.36 Changes in version 2 (2007-09-20): - Improved core algorithm produces smoother tone transitions - Added "Basic" user interface and re-arranged some previous controls (see below in blue) - Added "Review" button for quick before & after check: hold the button down to see original, release the button to re-apply changes USING THE PLUGIN Start in Basic mode - use Shadows and Highlights controls to get desired brightness; use Smoothing to adjust tonal blending. Switch to Advanced mode to override / fine-tune any settings. BASIC CONTROLS * Shadows - strength of shadow adjustment * Highlights - strength of highlight adjustment * Smoothing - blending of shadows and highlights. Adjust this together with Shadows and/or Highlights controls to get the desired look. Generally low values suite for images with extreme shadows & highlights, higher values for more balanced images. Basic controls actually use sets of Advanced controls. You can switch to Advanced mode anytime to override / fine-tune the settings. ADVANCED CONTROLS Shadows: * Amount - strength of shadow adjustment * Tonal Range - brightness range of shadows to be adjusted (at the bottom of 0 - 255 scale) * Saturation - saturation of shadows Highlights: * Amount - strength of highlight adjustment * Tonal Range - brightness range of highlights to be adjusted (at the top of 0 - 255 scale) * Saturation - saturation of highlights Note: saturation controls are independent from brightness, so alternatively you can only increase saturation - for example adjusting sky color. Smoothing * Local Contrast Radius - preserves local contrast by bluring the original image at selected radius (in the backround) before reading the tonal values. In effect setting Radius 10 - 20 avoids fine textures from becoming flat. Default radius in Basic mode is 12, which is optimized for screen size images. You may need greater radius (30, 50 or more) for large, several MP images. Note that large Radius values slow down processing, so I'd recommend to tune it last. * Local Contrast Intensity - as a side-effect, Radius may produce halo near strong edges - for example around dark objects against bright sky. Intensity control allows to reduce halo. Reducing it too much results in flat look due to loss of contrast. Values between 50 and 100 (%) should be okay. * Compression - amplifies strength of effect progressively towards the extreme shadows/highlights, allowing to reveal much more detail especially from deep shadows. Color Mask aims the strength of adjustment into certain color areas based on selected color balance. For example increase red value while reducing green and blue, to aim majority of adjustment at skintones; or increase blue to aim adjustment at sky. Some extreme before & after samples: Settings applied: Basic mode, Shadows 180, Smoothing 50 Settings applied: Basic mode, Shadows 140, Highlights 40, Smoothing 80
  10. This filter make sharpen blurred images. For refocusing uses algorithm with deconvolution element. Use for recovery small defocused photos. Locate in menu Effects->Photo->Refocusing Simple Deconvolution.
  11. Here is something to play with! Download as part of my plugin pack. Open from Effects>Photo Updated to v1.1 (2009-07-08)! Few usability improvements: * Default color for channel mixer is fixed to a certain green (rgb:76,150,29) in order to produce "standard" gray balance * Removed the "Enable" check box for channel mixer, as now you can return to standard gray by using channel mixer's reset button * Default color for Tint is primary color (was secondary before) The slider controls are same as in my Basic Adjustments plugin. Color wheels are different. - Channel Mixer Adjusts how much weight each color channel transfers to final brightness. If reset to default then „standard“ grayscale is applied. - White Level sets the white point of an image. higher number makes white brighter, lower makes darker. It can be called "exposure" in terms of photography. - Black Level sets the black point of an image. higher number makes black darker, lower makes brighter. - Tone (Dark / Bright) applies "gamma curve", making image look darker or brighter. No shadows or highlights are clipped. - Contrast applies "s-curve", enhancing contrast of middle tones. No shadows or highlights are clipped. - Tint Applies a shade of single color to final image. The result is similar to Colorize effect in PS (based on my few quick tests). Check box „Pick hue and saturation only“ makes it easier to work with the color wheel: when checked, it disables the color value slider and uses constant value around 40 instead of default 100. This is because darker colors are usually better for tint. Uncheck this option to fine-tune the result with color value slider.