Search the Community

Showing results for tags 'photo'.



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

  1. Level Horizon Plugin v1.3 for paint.net 4.0+ Download here as part of my plugin pack: http://forums.getpaint.net/index.php?/topic/32048-v Outdated link: LevelHorizon.zip Install the .dll file the normal way, then restart paint.net. You can do everything this plugin does with the built-in Layers > Rotate / Zoom effect. However, I think you'll find this MUCH easier for leveling a horizon. That roll control is cool, but not very easy to get just the right angle for adjusting a horizon. UPDATES v1.3 - Added Plumb Bob functionality. Corrections of +/- 45* or less count as horizontal, greater than that count as vertical. v1.2 - "+" indicators now red. Added IndirectUI rules. Full project now. v1.0 - Initial release. CodeLab script. Tutorial Let's start with the following image: It looks great, but the horizon isn't level! Let's fix that. Step 1: Load your desired image and use the Effects > Photo > Level Horizon menu. Move the effect UI out of the way so that you can see your image to work on it. Using the black "+" in the effect UI under "Starting position" place it on the left side of your image on the horizon. Then, using the black "+" under "Ending position" place it on the right side of your image on the horizon. Note: Use the + for rough placement, then use the sliders or data entry options for fine control. You should see a dashed line on your image that follows your horizon: Step 2: Once you are happy with the location of the horizon indicator line, click the "Show guidelines" check box to turn off the guidelines and show the rotation effect. You should see the image rotated so that the horizon is now flat. If you look in the corners of the image you should see some checkerboard pattern. This indicates where there is no image. We'll fix that next. Step 3: Adjust the "Zoom" slider until the corners of your image are filled. I usually just click the little up arrow a couple of times and that does the trick! Click OK to finalize your image. Source Code Here is the CodeLab source to the effect: The effect dll you can download above is a little more complex in the UI department, but this will show you the algorithm.
  2. TechnoRobbo's Bokeh Plugin a simulation of the Classic photographic effect due to complexity - slow renders on larger images higher the threshold the faster it renders. v2.0+ better threshold control Menu: Effect->Photo Video Demo music by TechnoRobbo Video Demo 2 Bokeh Effect Abstract Perth at Night The Code Click to View Hidden Content: // Submenu: Photo // Name: TR's Bokeh // Title: TR's Bokeh - v1.1 // File Version:1.1 // Author: TechnoRobbo // URL: http://www.technorobbo #region UICode int Amount1 = 16; // [1,128] Size int Amount2 = 3; // [1,15] Brightness int Amount3 = 128; // [1,254] Threshold #endregion void Render(Surface dst, Surface src, Rectangle rect) { Rectangle sel = EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); //---------------------------------- Graphics g = new RenderArgs(dst).Graphics; g.Clip =new Region(rect); g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; //BackGround------------------------------- System.Drawing.SolidBrush BBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black); g.FillRectangle(BBrush , new Rectangle(sel.Top, sel.Left,sel.Width,sel.Height)); BBrush.Dispose(); g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; //=========================================================================================== System.Drawing.SolidBrush CBrush =new System.Drawing.SolidBrush(ColorBgra.Black); //System.Drawing.Pen CPen = new System.Drawing.Pen(CBrush ,1); System.Drawing.Point[] pt = new System.Drawing.Point[0]; ColorBgra CP; int inc = Amount1; //Test Variable //inc=50; //shape=6; //End Test int rad = Amount1; int rad2 = rad * 2; for (int y = sel.Top; y < sel.Bottom; y ++) { for (int x = sel.Left; x < sel.Right; x ++) { CP = src.GetBilinearSampleClamped(x,y); int intensity = (CP.R | CP.G | CP.; if (intensity>Amount3){ CP.A =(byte) Amount2; CBrush = new System.Drawing.SolidBrush(CP); g.FillEllipse(CBrush, new Rectangle(x-rad, y-rad,rad2,rad2)); } }//x }//y CBrush.Dispose(); g.Dispose(); } TRsBokeh.zip
  3. This is a relatively simple chroma key plugin for removing the green background from an image. It's based on the algorithm presented in the paper here: http://www.makebelieve.gr/vl/Publications/SAICSIT99.pdf with an addition to reduce the green hue at the edge of objects. It's a terribly simple routine compared to many and certainly could stand improvement, but seems to do the job as well as many of the $100 programs I've tried. -Tim SimpleChromaKey.zip
  4. 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: https://forums.getpaint.net/index.php?/topic/32048-v 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: http://www.BoltBait.com/pdn #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.
  5. 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: http://BoltBait.com/pdn // 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: RemoveDust.zip For Paint.NET 4.0+: https://forums.getpaint.net/topic/113220-b I'm thinking "Plugin of the Year". Yes?
  6. 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 TRsDodgeBurn.zip
  7. 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 paint.net 4.0.6+): http://forums.getpaint.net/index.php?/topic/32048-v 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: https://en.wikipedia.org/wiki/Seam_carving _________________
  8. 'Spirit Level' Photo Effect Plugin Summary This Paint.NET effect plugin allows you to rotate a layer using a virtual spirit level. If you need to rotate an image then flatten it first. The rotation is limited to the range +/- 45°. This restriction allows the plugin to distinguish between horizontal and vertical leveling automatically. Auto Scale modes allow you to define how the rotated layer will be scaled in the exiting image. Respect that the rotated image will be cropped to the current image dimension. Padding modes define how areas uncovered after the rotation will be filled up. Padding does not have any effect to the rotated area itself. So a transparent area in the image will stay transparent. If you need the rotated image in its rotated size (without scaling or cropping) then use the 'Copy' to clipboard command in the plugin, cancel the dialog, and execute Paint.NETs 'Paste into New Image' command. Or use 'Save As ...' to store the rotated image in a file. Keywords Straighten, Rotate, Spirit Level, Plumb Bob, Horizontal, Vertical, Horizon Author Martin Osieka Download >> SpiritLevel v1.0 (16.5.2015) Installation Follow the instructions carefully Unzip "SpiritLevel.Effect vX.X.zip" Copy the two files SpiritLevel.Effect.dll/.dlc to the Paint.NET\Effects\ folder .dll contains the module code .dlc contains the module configuration (like translated text) After a restart of Paint.NET you will find the plugin at Menu->Effects->Photo->Rotate using a spirit level... oder für deutsche Anwender unter Menu->Effekte->Foto->Rotieren mit Wasserwaage... 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 русский (provided by ReMake) You may add your own translation to the .dlc file. Dialog options Choose the object in the image you like to align horizontal or vertical by drawing a line to the image. After releasing the mouse button the image will be rotated so that the line is horizontal or vertical in the main canvas. You may drag the start and end points of the line later to correct the position. If the angle of the line you have drawn is less than +/- 45 degrees compared to a horizontal line then a horizontal leveling will be done else a vertical one. Tip: The precision of the rotation depends on the length of the line. Longer is better in this case. Auto scaling modes: If you rotate an image then parts of the image will no longer be inside of the original image dimensions and other parts will be uncovered. A plugin can not change these dimensions but you can choose one of the auto scaling modes to define how the rotated image will fit into the original image. Scale In: Increases the size of the image so that there are no uncovered areas Off: No scaling Scale Out: Decreases the size of the image so that there are no parts outside. Padding modes: If there are uncovered areas after the rotation then the padding mode defines how these areas will be filled. Transparent Primary color Secondary color Keep: The uncovered areas show the pixels of the original unrotated image Mirror: Mirrors the rotated image at the borders. This provides the most natural effect on photos. The basic user interface of the canvas will be explained in an other message. Known issues None History 1.0 (16.5.2015) - First release
  9. 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 GreenTintReduction.zip Source Code Icon based on an icon from Fugue.
  10. Secure Download If you get a warning, try the unencrypted download. (Photo menu) Before: After:
  11. BoltBait's Meme Maker Plugin v1.3 If you are using Paint.NET v3.5.11, Download here: MemeMaker13.zip (v1.3) Unzip this to your desktop and run the Install_MemeMaker.BAT file to install. If you are using paint.net v4.0.6+, Download here: BoltBait's Plugin Pack for paint.net v4.0.6+ (v1.3 with Shadow option) Once installed, you'll find this under the Effects > Photo > Meme Maker menu. Requirements: - Paint.NET 3.5.11 or higher - The font "IMPACT" must be installed on your system. It probably is as it comes standard with Windows. Versions: -1.3 Added shadow option -1.2 Fixed a bug when centering in a selection -1.1 Added separate size for each text, Added ability to use Primary/Secondary colors -1.0 Initial Release CodeLab source for v1.2
  12. The Laplacian pyramid can be used to improve the overall illumination of photos, typically useful when part of the scene is in shadow. It can also smooth or enhance details in a photo without smoothing edges or introduce halos. Similar filters are used for tonemapping HDR pictures. Unfortunately the processing can take long time on big photos, so have patience... The filter was inspired by the paper "Local Laplacian Filters: Edge-aware Image Processing with a Laplacian Pyramid" by Sylvain Paris, Samuel W. Hasinoff and Jan Kautz. (http://people.csail..../2011/siggraph/) Example on detail enhancement (photo from Toul Sleng prison, Cambodia, © Michael Vinther 2012): Parameters used for example: Download version 1.0.4.0 (2016-02-08): http://meesoft.com/P...ramidFilter.zip LaplacianPyramidFilter.zip Unzip the file in the Paint.NET\Effects folder. You can access the feature from the Effects | Photo menu.
  13. *NEW* Vignette+ Plugin Here is a new plugin to assist you in adding a vignette to an image. Differences to the built-in Vignette effect: -Can add a vignette to a blank canvas -Can add a black, white, or color vignette -Rendered vignettes are softer than the built-in effect Download here: VignettePlus35.zip If you are using Paint.NET 4.0 or beyond, download here: https://forums.getpaint.net/index.php?/topic/32048-v Install the normal way. Once installed, look under: Effects > Photo > Vignette+... Enjoy!
  14. TechnoRobbo's PanoPDN Panoramic Viewer Menu: Effects- > Photo This plugin converts equirectangular images into a texture map and renders them in direct3d. Download images Equirectangular images are also known as spherical images spherical projections plate carree 360X180 Panorama Equirectangular Projection Search under those names. Equirectangular Images can be downloaded on Google Images or here http://www.flickr.com/groups/equirectangular/ Or Create Your Own If you want to create your own panoramics download Microsoft ICE http://research.micr...groups/ivm/ice/ It will stitch multiple photos into a spherical panoramic. music by TechnoRobbo image by Alexandre Duret-Lutz http://commons.wikimedia.org/wiki/File:%C3%89glise_Notre_Dame_de_Bordeaux.jpg *I'm sorry it is not known as Mercator Projection Only images with 2:1 aspect ratios are processed. If it's a true Spherical image but it's been stretched then resize it to 2:1 The higher the resolution the better tested up at 12000X6000 pixels Install the TRsPanoPDN & TRPANOVIEW Plugin in Effects folder TRsPanoPDN.zip If the viewer does not start , It may be necessary to update your Direct-X http://support.microsoft.com/kb/179113 Source Code for Programmers converter: TRPANOVIEWSrc.zip viewer: TRsPanoPDNSrc.zip
  15. This is a simple High Pass filter i created, it took me around 20 minutes for the base, used some extra hours for extra things Some sample images The base image: _________________ _________________ Samples for Custom UI version with extra options: Zoom blur mode: Surface blur mode: Samples for Indirect UI version with less options: Edges: Sharpening (A good idea is to switch between this and the base image): Greyscaled: @ReMake has very kindly rebuilt this plugin to resolve some UI issues. His version(s) replaces the previously available ZIP. Download for 4.0+ HighPass.zip Download for 3.5.11 HighPass v1.2 for PDN 3.5.11.zip
  16. This plugin simulate images as if they had X count of bits in total both monochrome and RGB are included screenshot: before: after (dithering - Bayer 8x8): after (dithering - Floyd Steinberg): after (no dithering): As you see the colors got reduced when the setting is 3bit RGB but with dithering enabled it doesn't look that harsh as if there wasn't dithering enabled. If you are wondering why i didn't include 8bit then press Ctrl+Shift+G when you have a colored image open, 8bit monochrome is the same greyscaling an image everything from 9bit and above is colored, in 16bit mode it add's an extra bit to the green component because the human eye is more sensitive to green then red and blue (which can be read in the wiki page linked to below) Put the DLL into Paint.NET/Effects folder and "Paint.NET User Files" folder in the zip into your documents folder i used this wiki page as guideline, although the results i get is nothing like the ones on the page i do still believe my results are good i also got the test image from that wiki page Change Log: 13-07-2011: cleared changelog as there was no reason for it to be there, completely changed the plugin since its start Changes include: 3 hard coded dithers if no dithers are getting loaded Custom dithers in XML format Error diffusion dithers are now represented correct, no "randomization" in them anymore caused by multithreading DLL: SimulateColorDepth.zip
  17. 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 paint.net 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!
  18. PNG Preprocessor prepares images for being saved as PNG. It optimizes the size of the file to 40-80% of the original size. This is done by combining nearly same colors to one, so the PNG compression algorythm can work more effective. You normally won't be able to see the difference between the compressed and the original image. Download: PNG_Preprocessor.dll (8,19 KB) PNG_Preprocessor.zip Example: Before: 1860 KB After: 957 KB Click the images to see full size - Photo taken by me
  19. Hello, Here is a simple plugin to correct the barrel or pincushion distortions in digital photos. (More information about these distortions in wikipedia article) [EDIT: Updated version] You can download the plugin here: kb_lens.zip To use it simply unzip it to c:/Program Files/Paint.NET/Effects/, the plugin is in Filters->Photo->Distortion [Edit]Here is an example of the plugin usage. On the first photo you can see the effect of the lens distortion (I traced it with dotted red line), which was eliminated in the second image using the plugin: This effect is even stronger with macro shots, cheaper lenses on compact cameras and ultra-wide (fisheye) lenses. I wrote the plugin using Codelabs, if there is someone who would like to implement it in C# (in order to give a nice interface or to optimize it), i can post the source code. [Edit]
  20. MODERATORS NOTE: This effect is incompatible with Paint.NET 4.0x, and was replaced by Laplacian pyramid filter. https://forums.getpaint.net/topic/24563-laplacian-pyramid-filter-effect-plugin/ Increase local contrast can improve badly lit photos. It can also give a dramatic effect to otherwise dull pictures. Decreasing the filter size will increase the local contrast and color saturation. Note that the filter tend to amplify any noise in the picture (especially with small filter and high contrast settings) so it can be a good idea to apply noise reduction before the operation. I think that this kind of filter is sometimes referred to as a retinex filter. The effect is also similar to what you can achieve with HDR software. Example: Download version 1.2.0.0 (2012-04-06): http://meesoft.com/P...calContrast.zip IncreaseLocalContrast.zip Unzip the file in the Paint.NET\Effects folder. You can access the feature from the Effects | Photo menu.
  21. TechnoRobbo's Portrait Retoucher So you took the perfect selfie but forgot to put on your makeup? There's no need fear, TR's Portrait Retoucher is here! Take years off your photo - instantly reduces blemishes. Very Intuitive controls. All for one low easy payment of $0.00 USD *Shipping and handling not included. Menu: Effects -> Photo https://www.dropbox.com/s/59c1km27c111rws/merkelRetouch.png?raw=1 TRsRetouch.zip CodeLab Source Code Hidden Content: // Submenu: Photo // Name: TR's Portrait Retouch // Title: TR's Portrait Retouch- v1.0 // Author: TechnoRobbo // URL: http://www.technorobbo.com #region UICode int Amount1 = 10; // [3,20] Amount double Amount2 = 0; // [0,1] Diffusion int Amount3 = 8; // [0,64] Brightness double Amount4 = 2; // [0.5,2] Reduce Detail #endregion private ColorBgra ClampMe(ColorBgra x,int plus) { int nR = x.R + plus, nG = x.G + plus, nB = x.B + plus; nR = (nR > 255)?255:nR; nG = (nG > 255)?255:nG; nB = (nB > 255)?255:nB; return ColorBgra.FromBgr((byte)nB,(byte)nG,(byte)nR); } void Render(Surface dst, Surface src, Rectangle rect) { GaussianBlurEffect blurEffect = new GaussianBlurEffect(); PropertyCollection bProps = blurEffect.CreatePropertyCollection(); PropertyBasedEffectConfigToken bParameters = new PropertyBasedEffectConfigToken(bProps); bParameters.SetPropertyValue(GaussianBlurEffect.PropertyNames.Radius, Amount1); blurEffect.SetRenderInfo(bParameters, new RenderArgs(dst), new RenderArgs(src)); blurEffect.Render(new Rectangle[1] {rect},0,1); ColorBgra cp,ct; for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; for (int x = rect.Left; x < rect.Right; x++) { cp = src[x,y]; ct = dst[x,y]; double k = (1 - Math.Pow(cp.GetIntensity(), Amount4)) * (1 - Amount2); ct.R = (byte)(k * (double)cp.R + (double)ct.R - k * (double)ct.R); ct.G = (byte)(k * (double)cp.G + (double)ct.G - k * (double)ct.G); ct.B = (byte)(k * (double)cp.B + (double)ct.B - k * (double)ct.; ct.A = (byte)cp.A; dst[x,y] = ClampMe(ct, Amount3); } } }
  22. Download: ColorCount.zip What does this plug-in do? This plug-in does exactly what its name implies, it counts the number of colors (or number of times a color is used) in an image. How does this plug-in work? What probably needs the most explanation is use of the control options for this plug-in, this is best described with screen shots. The following screen shots show an image that is 3 pixels by 3 pixels at maximum zoom. The image below shows the result of selecting to “count only the primary color.” In this case the primary color chosen is red with an alpha of 255, not transparent. The “ignore alpha” option serves to either narrow or widen your color search, in this case we are narrowing our search down to only red pixels with an alpha value of exactly 255. In this next screen the option to ignore alpha values is chosen, widening the search to count any red pixel in the picture. Ok, this is where it can get confusing. This time instead of counting the occurrence of a specific color we are going to do the exact opposite, which is to count the number of all the unique colors used. Continuing with the idea of doing things opposite from before, this time selecting the “ignore alpha” option will narrow our search results, confused yet? The next screen shot shows the result of counting colors while treating colors with differing alphas as individual colors themselves. Now here is the result of ignoring alpha values, effectively treating all colors as if they had the same alpha value. Location? Effects > Photo > Color Count If you have any questions, suggestions, or something does not work properly for you please let me know. Download: ColorCount.zip
  23. TechnoRobbo's Pixel Sharpener V2.0 This is the real deal. Use it on that photograph that you thought you messed up. Menu: Effects-> Photo v2.0 adds horizontal and deblurring and larger deblurring range These are actual examples - try it for yourself. (My Apologies to Hillary Clinton) The Code // Submenu: Photo // Name: TR's Pixel Sharpener // Title: TR's Pixel Sharpener - v2.0 // Author: TechnoRobbo // URL: http://www.technorobbo]http://www.technorobbo #region UICode double Amount1 = 0.75; // [0,1] Sharpen Amount int Amount2 = 1; // [1,5] Blur Width byte Amount3 = 0; // Blur Type|Photo|Horizontal Motion|Vertical Motion #endregion void Render(Surface dst, Surface src, Rectangle rect) { Rectangle sel = EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); Surface proxy = src.Clone(); double blur = (Amount2 - 1)* 2 + 3; double qblur= blur * blur; double eblur = Math.Floor(blur /2); double sblur = Math.Floor(blur /-2); ColorBgra CP; double Coeff =Amount1; double mult = qblur * Coeff + eblur / Amount2 ; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { CP = src[x,y]; int[] sum = {(int)((double)CP.R * mult ),(int)((double)CP.G * mult ),(int)((double)CP.B * mult) }; for (int i = (int)sblur; i<=eblur; i++){ for (int j = (int)sblur; j<=eblur; j++){ if (i!=0 & j!=0) { float nx = x + j; float ny = y + i; if (Amount3==2) nx = x; if (Amount3==1) ny = y; CP = src.GetBilinearSampleClamped(nx,ny); sum[0] -= (int)((double)CP.R * Coeff); sum[1] -=(int)((double)CP.G * Coeff); sum[2] -= (int)((double)CP.B * Coeff); } } } CP.R = Int32Util.ClampToByte(sum[0]); CP.G = Int32Util.ClampToByte(sum[1]); CP.B = Int32Util.ClampToByte(sum[2]); dst[x,y] = CP; } } } TRsPixelSharp.zip
  24. Download from my plugin set
  25. TechnoRobbo's FilmStrip make a proofsheet style image from a video V1.0.2 adds keywords and preview for The Plugin Browser V1.0.1 Fixes a with slider Menu: Effects->Photo Video found at Internet archive https://ia600405.us.archive.org/24/items/ADaysPleasure/ADaysPleasure_512kb.mp4 The Plugin and the Windows Media Player Support Files (install all 3 files in the effects folder) TRsFilmStripPlgIn.zip