Search the Community

Showing results for tags 'source code'.

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

  1. Quadrilateral Correction Effects -> Tools -> Quadrilateral Correction Description This effect is useful for correcting images that have been skewed on multiple axes. It uses an algorithm from AForge.NET. It works very well, but don't expect miracles if your image is extremely skewed. Before & After The left face has been selected in the plugin. — > Screenshot Control Nubs The control nubs can be manipulated with the mouse in the following three ways: - Left Mouse Button — Grab and Drag - Middle Mouse Button — Grab and Drag with a Dead Zone - Right Mouse Button — Select nub for Keyboard Arrow manipulation - Arrow — 1px - Ctrl + Arrow — 5px Change Log v1.2 (July 3, 2018) Added: Support for the Dark Theme Changed: Moved to the 'Tools' menu v1.1 (Jan 1, 2017) Fixed: Now works properly on HiDPI v1.0 (Aug 24, 2016) Initial release Download Place all three files in the Effects folder Donate Source Code Icon based on icons from Fugue Icons.
  2. Droste This is a update of @PJayTycy's original Droste distortion plugin that was left abandoned in the plugin development section of the forum. See changelog below. Effects -> Distort -> Droste Before After Changelog v1.1 (May 8, 2019) Changed: Removed dependency on external library v1.0 by toe_head2001 (Aug 31, 2015) New: Added a control to adjust the angle of the effect. Changed: Reorganized the code to a CodeLab-like structure/style Changed: Changed plugin icon and shorted title to 'Droste' New: Added metadata for the Plugin Browser pre-v1.0 by @PJayTycy (Dec 5, 2007 - Jan 26, 2008) See thread Download Source Code Source files and Git history
  3. Calendar Creator v1.6 I needed this for work, so I coded it up. And, because I'm so nice I'm sharing it with you. I'm not so nice, however, to entertain requests for format changes to the calendar itself. The drop-down list boxes default to the current month and year. Download Download as part of my plugin pack: Version 1.6 changes year entry into a slider instead of a drop-down list box. Source Code This is a little too complicated for CodeLab. Visual Studio is required to build this. I whipped this together quickly and never went back to clean it up--you have been warned. If someone wants to compile this for Paint.NET v3.5.11 (won't be easy), I wouldn't mind. Here's the icon: and here's a CodeLab script: Paint.NET v3.5.11 users can download a compiled version here! Enjoy.
  4. Spoked Wheel Effects -> Render -> Spoked Wheel Change Log v1.1 (March 5, 2016) Changed: The range for Line Thicknesses now maxes out at 100 v1.0 (Feb 20, 2016) Initial release Download
  5. Distort This! Effects -> Distort-> Distort This! This is an update/fork of TR's Distort This! plugin with some additional features, optimizations, and a ton of bug fixes. Change Log v2.9 (July 3, 2018) Added: Support for the Dark Theme v2.8 (Aug 4, 2017) Improved: Rendering speed is now faster, and uses less memory New: Supersample antialiasing (thanks MJW) Fixed: Clicking the 'OK' button too early no longer breaks rendering Fixed: Nubs can no longer go out of the UI bounds and become inaccessible New: There is now a visual indicator to show area outside of the 'Working Area' New: When setting the 'Working Area', the cursor is changed to a cross-hair New: The nubs can now be reset without also resetting the 'Work Area' Improved: Cleaned up the UI Fixed: Many small and subtle bugs Download Source Code
  6. Tartan Effects -> Texture -> Tartan Description Provides a UI to build custom tartan/plaid patterns. The left side of the UI is the builder section. The right side of the UI is what gets rendered to the canvas. The Horizontal Set & the Vertical Set get repeated. Screenshots Images have been cropped to give more desirable edges. ---> Change Log v1.5.2 (Jan 3, 2019) Fixed: Incorrect rending for selections v1.5.1 (Sept 29, 2018) Fixed: HiDPI issues v1.5 (July 3, 2018) Added: Support for the Dark Theme Changed: Moved to the 'Texture' menu v1.4 (Dec 12, 2016) Changed: UI Corrections & Adjustments v1.3 (Jan 22, 2016) New: There is now a preview box for the Line Style Changed: Minor UI Adjustments v1.2 (Nov 7, 2015) Fixed: Crash caused by a race condition Fixed: Was using the wrong ending-coordinate on vertical lines v1.1 (Oct 31, 2015) New: Save & Load tartan patterns Changed: Minor UI Adjustments v1.0 (Oct 22, 2015) Initial release Notes Thanks goes to @TechnoRobbo for his Color Wheel code, on which the Color Control in this plugin is based. Save & Load icons based on icons from from Fugue Icons. Download Source Code
  7. 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.
  8. Inset Box Shadow Effects -> Render -> Inset Box Shadow Before: After(s): . . Change Log v1.3 (Nov 3, 2018) Changed: Use the ColorWheel control with a built-in Alpha slider Changed: Move the plugin to be in the Render submenu v1.2 (March 5, 2016) New: Added controls to adjust Offsets v1.1 (Feb 9, 2016) New: Added a slider control to adjust Opacity Changed: The maximum value for Margin is now set dynamically based on canvas/selection size v1.0 (Feb 8, 2016) Initial release Download Source Code Icon based on icon from Fugue Icons.
  9. Barcode This is a update of @Sepcot's original Barcode generation plugin. See changelog below. Effects -> Render -> Barcode '' encoded with Code 39 '93901' Postal Code encoded with POSTNET '070048016509' encoded with UPC-A Features Supports all three Code 39 barcode encodings: Code 39, Code 39 mod 43, and Full ASCII Code 39 Supports 5, 6, 9, and 11 digit POSTNET encodings Supports UPC-A encodings Automatically tries to convert text into an encodable format. (Example: "Paint" in Code 39 becomes "PAINT") Provides visual feedback for text that cannot be encoded. Uses the user defined Primary and Secondary colors to build the barcodes. Note: Barcodes built with colors other than Black (Primary) and White (Secondary) will probably not scan correctly. The width of the bars in the barcode adjust to fill the available space. No barcode is shown if the surface is too small for the barcode to be completely drawn. Supports non-rectangular selections. Note: Barcodes may not scan correctly if not rectangular. Changelog v1.5.1 (Nov 23, 2018) Fixed: Corrected the / character in Code39 v1.5 (July 3, 2018) Added: Support for the Dark Theme v1.4 (Nov 14, 2015) Fixed: Code39 Mod43 was generating the wrong Check Digit (this has been wrong since Sepcot's first release in 2007, sorry) Changed: All barcodes render a whole lot faster now Changed: When an invalid text string is typed in, the canvas will now clear instead of the 'OK' button disabling Changed: Minor UI Tweaks, should look better on HiDPI v1.3 (Aug 24, 2015) New: Generate UPC-A barcodes New: Added option to force Black & White, rather than using the primary and secondary colors New: The 'Enter' and 'Esc' keys now work Changed: UI now has a faux IndirectUI style v1.2 (Feb 23, 2015) Fixed: Plugin would crash if Unicode characters were inputted into the text field (info) Fixed: Character validation was not functional on the 'Full ASCII Code 39' option Changed: Live preview and the 'OK' button are now disabled if invalid characters are inputted Changed: Menu entry in now under the 'Render' submenu New: Text cursor is now automatically placed in the text input field when the plugin is opened New: Metadata was added for the 'Plugin Browser' v1.1 by Sepcot (March 19, 2007) Supports 5, 6, 9, and 11 digit POSTNET encodings Supports non-rectangular selections. v1.0 by Sepcot (March 15, 2007) Initial release Download Source Code
  10. Black and White+ version 1.1 Black and White+ includes 3 different algorithms to convert a color image into a black-and-white image. Luminosity Method Shade of Gray = 0.299 * Red + 0.587 * Green + 0.114 * Blue This is the default method. This is how the built-in Black-and-White effect converts a color image to black-and-white. This method gives different weights to Red, Green, and Blue. Other methods treat each color equally. Average Method Shade of Gray = (Red + Green + Blue) / 3 Lightness Method Shade of Gray = [Max(Red,Green,Blue) + Min(Red,Green,Blue)] / 2 Every color photograph is different. You'll just need to try each method to see which one works best for your specific photograph. Brightness/Contrast In addition to converting your photograph to black-and-white, I've also provided access to the Brightness and Contrast adjustments. For a more dramatic effect, decrease the brightness (try -10) and increase the contrast (try +10). Download Download this effect as part of my plugin pack: Source Code Here is the icon: and here is the CodeLab source: // Name: Black and White+ // Author: BoltBait // Submenu: Adjustments // Title: BoltBait's Black and White+ v1.1 // Version: 1.1 // Desc: Convert image to Black and White // Keywords: Black and White|B&W // URL: #region UICode ListBoxControl Amount1 = 0; // |Luminosity Method|Average Method|Lightness Method IntSliderControl Amount2 = 0; // [-100,100] Brightness/Contrast IntSliderControl Amount3 = 0; // [-100,100] #endregion BrightnessAndContrastAdjustment bacAdjustment = new BrightnessAndContrastAdjustment(); PropertyCollection bacProps; private double Max3(double x, double y, double z) { return (x > y) ? ((x > z) ? x : z) : ((y > z) ? y : z); } private double Min3(double x, double y, double z) { return (x < y) ? ((x < z) ? x : z) : ((y < z) ? y : z); } protected override void OnDispose(bool disposing) { if (disposing) { if (bacAdjustment != null) bacAdjustment.Dispose(); bacAdjustment = null; } base.OnDispose(disposing); } void PreRender(Surface dst, Surface src) { bacProps = bacAdjustment.CreatePropertyCollection(); PropertyBasedEffectConfigToken bacParameters = new PropertyBasedEffectConfigToken(bacProps); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Brightness, Amount2); bacParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, Amount3); bacAdjustment.SetRenderInfo(bacParameters, new RenderArgs(dst), new RenderArgs(src)); } unsafe void Render(Surface dst, Surface src, Rectangle rect) { // Call the Brightness and Contrast Adjustment function bacAdjustment.Render(new Rectangle[1] {rect},0,1); for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel = *dstPtr; byte K = CurrentPixel.R; if (!(CurrentPixel.R == CurrentPixel.G && CurrentPixel.G == CurrentPixel.B)) { switch (Amount1) { case 0: K = (byte)((0.299f * CurrentPixel.R) + (0.587f * CurrentPixel.G) + (0.114f * CurrentPixel.B)); break; case 1: K = (byte)((CurrentPixel.R + CurrentPixel.G + CurrentPixel.B) / 3.0); break; case 2: K = (byte)((Max3(CurrentPixel.R, CurrentPixel.G, CurrentPixel.B) + Min3(CurrentPixel.R, CurrentPixel.G, CurrentPixel.B)) / 2.0); break; default: break; } } CurrentPixel = ColorBgra.FromBgra(K,K,K,CurrentPixel.A); *dstPtr = CurrentPixel; dstPtr++; } } } Note: User MJW also made a Black and White+ plugin. His has way more adjustments than mine. I'm not sure, but you might be able to use his to get the same results as mine... I just couldn't figure out how to do it. If you like LOTS of things to tinker with, you might give his a try. The above is for Paint.NET v4.1.4+ Paint.NET v3.5.11 I'm sure someone will come along shortly and compile this for you.
  11. TR's Scatter Plugin A Directional Pixel Scattering filter designed to work with Layers and Transparency. Menu: Effects->Noise Version 1.3 Expanded Features Features include - longer spread distance - up to 10 layers of particles. Here's a simple tutorial on YouTube: The Code Hidden Content: // Submenu: Noise // Name: TR's Scatter // Title: TR's Scatter - v1.3 // Author: TechnoRobbo // URL: http://www.technorobbo #region UICode int Amount1 = 50; // [10,1000] Distance double Amount2 = 45; // [-180,180] Direction int Amount3 = 10; // [1,20] Spread double Amount4 = 50; // [0,100] Threshold int Amount5 = 1; // [1,20] Layers byte Amount6 = 0; // [255] Re-Generate #endregion void Render(Surface dst, Surface src, Rectangle rect) { dst.CopySurface(src,rect.Location,rect); double spread = Amount3 * Math.PI /180; double direction = Amount2 * Math.PI /180; double distance = Amount1; Random rndm = new Random((int)Guid.NewGuid().GetHashCode()); ColorBgra CP; double tmp; double tmp2; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { for (int i=0;i<Amount5;i++){ tmp= rndm.NextDouble() * spread + direction; tmp2=Math.Pow(rndm.NextDouble(),4) * distance; double nx = x + -Math.Cos(tmp) * tmp2; double ny = y + Math.Sin(tmp) * tmp2; CP = src.GetBilinearSampleClamped((float)nx,(float)ny); HsvColor hsv = HsvColor.FromColor(CP.ToColor()); if (hsv.Value > Amount4 && CP.A > 0){ dst[x,y] = CP; } } } } } TRs
  12. 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
  13. 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 4.0 Menu: Effects -> Color Text Demo Quick Example on you Tube music by TechnoRobbo CHAPLIN Bogey1 The VS Source Code The Plug-In
  14. Radius Corners This is an continuation of @dan9298's abandoned 'Radius Fill Corners' plugin. Effects -> Stylize -> Radius Corners Features Creates rounded corners on your image at an adjustable radius. Automatically sets the maximum radius size allowed (based on half the size of the shortest side of the canvas); defaults to a quarter size Fill the background with transparency or a custom color Changelog v1.6 (July 8, 2018) Improved: Better performance when increasing the Margin value Changed: Moved the Anti-aliasing button directly under the Radius slider v1.5 (Sept 10, 2016) Added: There is now an option for a margin. v1.4 (Dec 1, 2015) Fixed: The dynamic values on the Radius slider (Max & Default) now recognize selections v1.3 (Feb 28, 2015) Added: Anti-aliasing! Changed: Plugin is now called Radius Corners (the Fill function is not important enough to be in the name ) Changed: Moved to the Stylize Submenu (same reason as above) Fixed: Right and bottom edges were off by 1px v1.2 (Feb 26, 2015) Changed: Replaced the old WinForms UI with a fancy IndirectUI one Changed: Replaced the Primary Color & Secondary Color options with a Color Wheel (which defaults to the primary color) Changed: Instead of having the default Radius Size at 50, it is now set to a quarter of the size of the shortest side of the canvas New: Metadata was added for the 'Plugin Browser' v1.1 by dan9298 (Nov 21, 2008) Prevent the radius from exceeding half the size of the shortest side of the canvas v1.0 by dan9298 (Nov 9, 2008) Initial release Download Source Code Source files and Git history
  15. Text Window Effects -> Text Formations -> Text Window Description Used to repeat text to create word images. Screenshots Notes If you do not intend to repeat the text, please use the Text tool as seen below. Change Log v1.4 (July 5, 2018) Added: Russian translation by @ReMake is now included. Changed: The Font dropdown now defaults to the Arial font, rather than the first one in the list. v1.3 (March 14, 2016) Changed: Unusable font are no longer listed in the UI, thus eliminating the "Font Error" messages. v1.2 (Oct 6, 2015) Changed: Simplified the algorithm for cutting out the window text New: Added font styles (bold, italic, underline, strikeout) Changed: Moved some code into OnSetRenderInfo. Makes it faster and use less system memory v1.1 (Aug 28, 2015) Fixed: Font error message is now modal Fixed: Background could be very slightly affected by the x Offset value if set to +1.0 (I had copy & pasted onto the wrong line without noticing...) v1.0 (Aug 25, 2015) Initial release Download Source Code Source files and Git history
  16. As requested here: Dimensions Effects > Render > Dimensions Description Render dimension arrows on your canvas. This will NOT measure anything and will NOT convert pixel length to another unit of length. Until I add this to my plugin pack, download here: Download Save to your desktop, unzip files to your desktop and run the installer batch file. Source Code: (This was a quick hack, mostly cobbled together from other plugins, and the code is ugly. You have been warned.) Versions: 1.2 7/1/2018 Fixed a bug where it would clear the canvas when OK was clicked. 1.1 7/1/2018 Text surrounded by transparency instead of white. 1.0 6/30/2018 Initial Release.
  17. 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 Video Tutorial : New Browser The VS Source Code The Plugin
  18. This is a CodeLab port of @harold's NormalMapPlus plugin. It's functionally identical, except for some fixes, the slider controls having an extra decimal place (due to the way CodeLab works), and the addition of a brief Help menu. Though the code is functionally the same, it was somewhat rewritten. It's in the Stylize submenu. The fixes are: 1) The ROI boundary pixels are handled correctly. 2) The normals are computed at the correct positions, rather than being shifted one pixel left. 3) The JIT compiler optimization crash doesn't occur. (The crash is almost certainly not due to a bug in the original plugin code, and will probably be fixed in the JIT compiler soon.) Here is the DLL (Version 1.4): Here is the code: EDIT 01 AUG 1017: Moved to Stylize window. Changed version to 1.4.
  19. Graph Paper Effects -> Render -> Graph Paper Description Generates a graph with adjustable Cell Size, Group Size, and Cluster Size. Standard: Isometric: Change Log v2.1 (Feb 1, 2018) Fixed: Horizontal lines didn't fill the canvas v2.0 (Feb 17, 2016) New: Added options for Background Color and Line Colors New: Added options for Line Styles (Solid, Dashed, Dotted) Changed: Switch from IndirectUI to OptionBasedEffects v1.0 (Jan 9, 2016) Initial release Download Place both GraphPaper.dll & GraphPaper.dlc in your Effects folder. The required 'OptionBasedLibrary v0.7.9' files can be found in the Parallel Lines and Patterns plugin. Source Code
  20. Bulletin Board Trim Effects -> Render -> Bulletin Board Trim . . Change Log v1.0 (July 9, 2016) Initial release Download Source Code
  21. Blur Fill Effects -> Fill -> Blur Fill Before (image surrounded by transparency): After: Features Fill the transparent area of the canvas with a scaled (fixed ratio) copy of the trimmed image. Notes Regarding the 'Position Adjust' sliders: The background is scaled at a fixed ratio to fill the canvas, thus only one dimension will be clipped and that dimension's slider is the only one that will have an affect. If the ratio of the canvas and the ratio of the trimmed image are exactly the same, no clipping will happen and thus neither slider will have an affect. Changelog v1.5.1 (Jan 16, 2018) Fixed: The effect properly disposes of it's extra surfaces now. v1.5 (Jan 13, 2018) Added: Russian translation by @ReMake is now included. Changed: Uses less memory now. v1.4.1 (Jan 17, 2017) Fixed: In some cases, the effect would crash with a Read AccessViolationException. v1.4 (Dec 31, 2016) Fixed: The bottom pixels and the right pixel were getting clipped. Changed: The panning control now uses 3 decimal places, instead of 2. v1.3 (Jan 12, 2016) New: You can now run the effect on a selection. New: Added an icon to the plugin v1.2 (Nov 7, 2015) Fixed: Effect would crash if run on an absolutely transparent canvas. v1.1 (Oct 3, 2015) New: Added a checkbox to make keeping the original image optional Changed: Moved some code into OnSetRenderInfo. Makes the effect faster and use less memory, as it no longer runs the same code over and over again v1.0 (Aug 25, 2015) Initial release Download Example - 16:9 Movie Banner Source Code Source files and Git history Icon based on icons from Fugue Icons.
  22. Rubber Stamp Effects -> Object -> Rubber Stamp Before: After: Changelog v1.0 (April 15, 2017) Initial release Download Source Code Icon from Fugue Icons.
  23. Jigsaw Puzzle Effects -> Render -> Jigsaw Puzzle Description Generates a Jigsaw Puzzle cutout of an image. Example Images Before: After: Change Log v2.2 (Jan 9, 2016) Changed: Allow the 'Scale' to go up to 10 again v2.1 (Dec 4, 2015) Fixed: Puzzle pieces would sometimes get a little distorted at low Scale values v2.0 (Nov 26, 2015) New: Automatic puzzle Dimensions and Edge pieces New: Four puzzle patterns are now available Changed: Transparent line is now the default Changed: Scale range is now capped to 5.0x; down from 10.0x v1.0 (Oct 6, 2015) Initial release Download Source Code
  24. Two-point Perspective Effects -> Render -> Two-point Perspective Description Generates a Rectangular Cuboid in Two-point Perspective. Change Log v1.6 (March 27, 2017) New: Added an option to render the guide lines of the vanishing points Fixed: No more "ghost lines" when using a Fill option v1.5 (Jan 9, 2016) New: Adjustable outline Color and Width New: Fill options (None, Solid, Shaded) v1.0 (Dec 5, 2015) Initial release Download Source Code
  25. 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: Source files (for programmers): Toning v1.0a Best regards, Philipp