Search the Community

Showing results for tags 'distort'.

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

  1. Kaleidoscope Effect Plugin What's this? This is a plugin under Effect/Distort menu. Take a picture, and divide it as if you cut a pie in equal pieces. Each piece is numbered, starting at 0 with the rightmost piece and anti clockwise counting. The default is 6 pieces per image. It means "the pie" is divided in 6 pieces. This plugin will copy/rotate the piece nr 1 all over the other pieces replacing the original image, or will copy/rotate each piece mixing them all over the image. Download it! Plugin Kaleidoscope.dll Here is the DLL The MadJik's All plugins package is available ! How to install Close Classic version of Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Unzip and (re)place the DLL in your Effect folder usually: /My Documents/ App Files/Effects/ You have to adapt for your language My Documents The User interface .Quantity of pieces (1,100,dft=6): __You could increase/decrease the number of pieces around the image... .Piece selector (modulo) (0,100,dft=0): __Allows you to choose another piece as model to rotate... Modulo means (in 16 pieces, 0 to 15) if you choose 17 you'll have 2... .Radius %amount (0.01,400,dft=100): __The radius is based on the smallest side of the image, that represents 100%. You could increase/decrease this radius. .Zoom %amount (0.01,10000,dft=100): __You choose the zoom in or zoom out amount. .Choose reflective mode: __Normal: The piece is only rotated around the center. __Alerned (dft): One piece on two is mirrored to give more symetrical and continous aspect. The symetry is broken if the quantity of piece is odd. __Reversed: All the pieces are mirrored. .Cutting: __None (dft): The background outside the pieces doesn't change. __Background: The background outside the pieces is changed to transparent. __The selected piece: All is transparent except the selected piece. .Source angle: __Select the angle of the source image. More smooth than the piece selector. .Rotation angle: __Set the angle of the resulting image. .Copy over only one piece __Checked (dft): Copy/rotate the piece all over the other pieces replacing the original image. __Unchecked: Copy/rotate each piece mixing them all over the image. .Colored helper only __The plugin first creates a colored pie and each piece has a unique color. This is a 'temporary' result to simplify the picture copy/rotate/mirror. You could see this 'temporary' result if you check the box for that. .Draw lines width __Set the width more than 0 to draw the lines of each pièces. Let me know if you've got some trouble. or ideas of improvement. And post your art... Alterned reflection: Copy all over all: Cut all: Cut one: For your information, you could also find here: the kaleidoscope generator... to make this:
  2. 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
  3. Seamless Texture Maker Effect Plugin What's this? Based on the original code from Boltbait for his Seamless Texture helper: This plugin is added to the menu Effects, submenu Distort. Download the DLL Plugin SeamlessTextureMaker.dll Here is the DLL The MadJik's All plugins package is available ! How to install Close Classic version of Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Unzip and (re)place the DLL in your Effect folder usually: /My Documents/ App Files/Effects/ You have to adapt for your language My Documents The User interface Choose the mode: ...Mirror on the axis (reduce): the image is duplicated and flipped. ...Copy and rotate (reduce): the image is duplicated and rotated. ...Normal+Cut: The image is duplicate and panelled half size and then blended with the original. ...Cut: The image is panelled half size. The center is going to the corners. Choose the axis of symetry: ...You could decide to apply the effect on the proposed axis. Flip the selection: ...With the mirror this option allows you to place the reduced image in a different order. ...With other modes, the duplicated image is flipped before the blending. Transparent pixel is: ...transparent ...replaced by Black color ...replaced by White color ...replaced by Primary color ...replaced by Secondary color original image If there are some transparent pixel, you could choose to replace them... Include transparent pixels ...The blend mode selected applies also to the alpha channel. The Examples: Image: Mode Mirror Mode Lighten Mode Average Mode Darken
  4. Polar + Rectangular transformations Plugin What's this? This is a plugin under Effect/Distort menu. It should replace Polar to Rect and Rect to Polar, as I'm merging the two in one. Giving tribute to the original authors, @Illnab1024 for Polar to Rect Conversion Plugin, @Programmerman for Rectangular to Polar Conversion plug-in. As they both provide the sources, it was not so hard to merge them. And also I'm answering a request... Download the DLL Plugin Polar.dll Here is the DLL The MadJik's All plugins package is available ! How to install Close Classic version of Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Unzip and (re)place the DLL in your Effect folder usually: /My Documents/ App Files/Effects/ You have to adapt for your language My Documents The User interface Choose the effect: click on the desired radio button to choose the effect you want to apply. X,Y Offset of the center: work fairly well for polar to rect, but could give strange result for rect to polar (not really a bug!). Angle: change the angle. Scale: used to enlarge/reduce the result. Quality: increasing the quality is slowering the rendering! :S Some examples: Model: A picture from last holidays Polar to rect: Rect to polar:
  5. Hello this is my first plug-in. This plug-in simply subtracts the red blue green by x+y or x-y or x*y depending on the option you select and then divides it by the amount you specified. It creates a strange tiled gradient. Colour
  6. Melting distortion What's this? This effect is was a bonus in the bottom list of my pack of plugins without its post till now. This effect is a long lasting idea since I've created the gravity (effect...), still popping from time to time till I find a new approach. This effect takes the top of the selection and distort it like a melting candle. Download it! Plugin Melting.dll Here is the DLL The MadJik's All plugins package is available! How to install Close Classic version of Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Unzip and (re)place the DLL in your Effect folder usually: /My Documents/ App Files/Effects/ You have to adapt for your language My Documents The User interface This plugin is added to the menu Effects, submenu Distort. Range In purcent of the height the length of the melting portion. % Sample length In purcent of the height the length of image used for the melting portion. Softness Lower value for extrem peaks higher values for smooth curves. Distortion / Number of phases Horizontal range/number of distortion/phases (phases are for the sinus curve method). Reseed Zero is for full random effect. 1 and more is the Start value of the random generator. It means you will always have the same result for the same value. Shadow -None -Black -White -White+Black -Black+White Add a vertical gradient at the limit of the range. Shadow length Set the length of the shadow. Both sides If checked apply a distortor below the range limit. Method -Sinus curve -Full random Select the calculation method of the distortion. The Examples: This texture used with Shape3D and some more work: Voilà! Enjoy! Let me see what you could do with it!
  7. Magnifier Effect Plugin What's this? This plugin is added to the menu Effects, submenu Distort. It is a evolution of the Ed Harvey's Lens. I had a discussion with him about it to have his agreement to publish my version. The improvements are : - offset: to move the center. - independant slider for vertical/horizontal radius. - range from -200 up to 400. - anti aliasing Download it! Plugin Magnifier.dll Here is the DLL The MadJik's All plugins package is available ! How to install Close Classic version of Unzip and (re)place the DLL in your Effect folder usually: C:/Program Files/Paint.NET/Effects Microsoft Store version of Unzip and (re)place the DLL in your Effect folder usually: /My Documents/ App Files/Effects/ You have to adapt for your language My Documents The User interface ...Choose the amount (negative values will flip the image). ...Choose the radius for X & Y. ...Move the center using the offset. ...Select the quality. The antialiasing is working on the selection area. To avoid to blur the whole picture first create a selection... Some examples: Model / Result New option: Delete background:
  8. 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.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 Place both Droste.dll and MathNet.Iridium.dll in the Effects folder. Source Code Source files and Git history
  9. This is a beta version of a perspective transformation plugin. Unfortunately, I can't seem to post images using my flickr account (I get the message, "You are not allowed to use that image extension on this community.") The plugin uses four double-vector controls to place the transformation control points. Due to CodeLab restrictions, the double vectors are all initially at the center of the window, and have to be moved to reasonable positions to produce a picture. It's not too hard to do, but it's very inelegant. Eventually, I'll convert it a Visual Studio project and fix that problem. There are also scale and offset controls to adjust the image size and position. If the scales and offsets are in their default positions, the image is perspectively mapped into the quadrilateral formed by the control points, surrounded by transparency. The image isn't clipped to the quadrilateral, it's just that there's nothing to display. If the scaling factor is greater than 1, the image will extend beyond the control-point quadrilateral. If the control points are moved to invalid positions, such as a non-convex quadrilateral, the entire image will be transparent. The effect is in the Effects>Distort menu. EDIT: New version uploaded 2/8/2015. There are three changes. First, I replaced the X and Y Scale controls with Scale and XY Proportion controls. Second, I added optional anti-aliasing using supersampling. Third, I used floats instead of doubles for almost all the calculations. The source code is also updated. One thing that might be noticed is that if the checkerboard or grid is displayed with the control points in the corners, so the image is undistorted, then the image will appear to be a bit darker when anti-aliasing is enabled. This is an (as far as I know) unavoidable consequence of using supersampling and bilinear interpolation. If you zoom in on the image, you'll see what amounts to a one-pixel blur, so the black-white edge is now dark gray where it was black, and light gray where it was white. If the image is moved or rescaled a bit, all the edges will be shades of gray, and the darkening effect will more or less disappear, as it will for other images that don't have a bunch of black-to-white transitions. So while I wouldn't call it a feature, it's not much of a bug, either. EDIT: Fixed spelling error in plugin name. A checkerboard pattern and a grid pattern to demonstrate anti-aliasing is here: The plugin is here (beta 1.1): (the old version) This is version Beta 1.2: (the current version) Here is the source code for the older version: EDIT: Beta version 1.2. Changes include: Control points start in the corners instead of the center of the screen. The corner points can be moved outside the window boundary (the current limit is -1.5 to 1.5). The corner controls, and the other double controls, are 3 decimal places instead of two, for more precise control. The XY Proportion control works differently, increasing one dimension while simultaneous decreasing the other. I thought it would be simpler to use if it only changed one dimension at a time, but found it to be difficult and confusing.. A Help menu is added. Some minor cosmetic changes, such as renaming the "Anti-Alias" control "Antialias." This is a VS project instead of CodeLab. I didn't include the source code, but if anyone wants it I'll post it. I will post the code when I release the non-beta version. I didn't remove either the CodeLab source or the old CodeLab DLL. There are a few enhancements I hope to add to the eventual non-beta plugin, but this version is, I think, a substantial improvement from the previous version. Please let me know what features you'd like to see (though you may not see them). Also, let me know if there are any spelling errors, grammar errors, or improvements I could make to the Help menu. I could gray-out the Antialias Quality when Antialiasing is disabled, but I thought it might be useful to be able to adjust it before enabling it. Opinions about this are welcome.
  10. Here is the plugin you've been waiting for!!! Just kidding. This is a plugin I developed for a specific purpose, that I decided to release in case anyone has a use for it. As the Help menu says: Offset Alternating Stripes offsets alternating stripes of pixels selected distances. Stripe Width is the width of the stripes in pixels. Odd Offset is the number of pixels to offset the first stripe and all other odd numbered stripes. Even Offset is the number of pixels to offset the second stripe and all other even numbered stripes. Stripe Phase moves the point at which the first stripe begins. Stripe Angle rotates the direction of the stripes. Edge Behavior specifies how to handle points that are shifted beyond the edge of the image. The options are None, Wrap, or Clamp. Quality specifies the amount of antialiasing to use. A value of one disables antialiasing. Higher values increase the number of samples per pixel. Generally, no antialiasing is needed when the Width and Offsets are integer values. Here is the user interface: Here is an example of the plugin applied to an image: Here is the CodeLab source: Hidden Content: // Name: Offset Alternating Stripes // Submenu: Distort // Author: MJW // Title: Offset Alternating Stripes // Version: 1.0.* // Desc: Offsets alternating stripes of a selected width by specified amounts // Keywords: offset alternating stripes // URL: // Help: #region UICode DoubleSliderControl Amount1 = 20; // [1,1000] Stripe Width DoubleSliderControl Amount2 = 0; // [-1000,1000] Odd Stripe Offset DoubleSliderControl Amount3 = 20; // [-1000,1000] Even Stripe Offset DoubleSliderControl Amount4 = 0.0; // [-0.5,0.5] Stripe Phase AngleControl Amount5 = 0; // [-180,180] Stripe Angle RadioButtonControl Amount6 = 0; // [1] Edge Behavior|None|Wrap|Clamp IntSliderControl Amount7 = 1; // [1,5] Quality #endregion Surface Src; int edgeBehavior; float Syx, Syy, Syw; float evenX, evenY, oddX, oddY; void Render(Surface dst, Surface src, Rectangle rect) { Src = src; bool antialias = (Amount7 != 1); if (antialias) SetupForSubpixels(Amount7, Amount7); edgeBehavior = Amount6; float width = (float)Amount1; double ang = (Math.PI / 180.0) * Amount5; float Mxx = (float)Math.Cos(ang); float Myx = (float)Math.Sin(ang); float Mxy = -Myx; float Myy = Mxx; // Set up the offset distances. I tend to think of the initial line is even, // but then I can't really call it the first line. oddX = Mxx * (float)Amount2; oddY = Mxy * (float)Amount2; evenX = Mxx * (float)Amount3; evenY = Mxy * (float)Amount3; // Calculate the values used to calculate the stripe number. Only the low bit of the // result matters. It's used to determine if it's and odd or even stripe. float widthRecip = 1.0f / width; Syx = widthRecip * Myx; Syy = widthRecip * Myy; // Calculate the offset. Include the phase. Add a large number to always make // the result positive. Use an odd number so the first line is odd. Add half the // width-scaling value for rounding. Syw = (float)Amount4 + 40001.0f + 0.5f * widthRecip; for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; float fy = (float)y; for (int x = rect.Left; x < rect.Right; x++) { float fx = (float)x; if (!antialias) dst[x, y] = GetTransformedPixel(fx, fy); else dst[x, y] = GetTransformedPixelAA(fx, fy); } } } ColorBgra GetTransformedPixel(float fx, float fy) { // Get the rotated, scaled, and offset Y distance as an integer stripe number. int dy = (int)(Syx * fx + Syy * fy + Syw); if ((dy & 1) == 0) { fx -= evenX; fy -= evenY; } else { fx -= oddX; fy -= oddY; } if (edgeBehavior == 0) return Src.GetBilinearSample(fx, fy); else if (edgeBehavior == 1) return Src.GetBilinearSampleWrapped(fx, fy); else return Src.GetBilinearSampleClamped(fx, fy); } ColorBgra GetTransformedPixelAA(float fx, float fy) { int b = 0, g = 0, r = 0, a = 0; fy += ssYStart; float bx = fx + ssXStart; for (int iy = 0; iy < ssYSamples; iy++) { fx = bx; for (int ix = 0; ix < ssXSamples; ix++) { ColorBgra pixel = GetTransformedPixel(fx, fy); int alpha = pixel.A; if (alpha != 0) { b += alpha * pixel.B; g += alpha * pixel.G; r += alpha * pixel.R; a += alpha; } fx += ssXStep; } fy += ssYStep; } if (a == 0) { return ColorBgra.Transparent; } else { // Compute the (rounded) averages. int twiceA = a << 1; b = ((b << 1) + a) / twiceA; g = ((g << 1) + a) / twiceA; r = ((r << 1) + a) / twiceA; a = (twiceA + ssSamples) / ssTwiceSamples; return ColorBgra.FromBgra((byte)b, (byte)g, (byte)r, (byte)a); } } int ssXSamples, ssYSamples, ssSamples, ssTwiceSamples; float ssXStart, ssYStart, ssXStep, ssYStep; void SetupForSubpixels(int xSamples, int ySamples) { ssXSamples = xSamples; ssYSamples = ySamples; ssSamples = xSamples * ySamples; ssTwiceSamples = ssSamples << 1; ssXStep = 1.0f / (float)xSamples; ssYStep = 1.0f / (float)ySamples; ssXStart = -0.5f * (1.0f - ssXStep); ssYStart = -0.5f * (1.0f - ssYStep); } Here is the plugin: Maximilian has a 3.5.11 build. EDIT: Fixed double-stripe-for-negative-angles bug, and a multi-thread bug caused be forgetting to delete a line of code.
  11. Screen Pixel This is an update to @Bleek II's ScreenPixel plugin. See changelog below. Effects -> Distort -> Screen Pixel Features Takes a image and breaks it into RGB components. Control the opacity of the RGB Automatically apply correct (3x) pixelation cell size. (e.g. if your RBG size is 2, a pixelation amount of 6 will be applied) Changelog v1.1 by toe_head2001 (Feb 24, 2015) New: added the ability to reduce the opacity from 255; defaults at 100. New: Pixelation is now built in, and can be toggled. Pixelation size automatically increases with RBG size. New: Metadata was added for the 'Plugin Browser' v1.0 by Bleek II (March 28, 2008) Initial release Download Source Code
  12. Download from my plugin set Effects > Distort > Jitter You absolutely must be using the latest version of Paint.NET (3.10) to use this plugin. This plugin "Jitters" each row of pixels by a random amount. The angle, width of the rows, intensity of the effect, spacing between jittered rows, and edge-behavior are all adjustable. You can also toggle antialiasing. Something interesting you can do with this (very rough; I made it in 5 minutes based on a very old sig of mine): Download from my plugin set
  13. Download from my plugin set Effects > Distort > Stitch Certain combinations of angles give a less-than-desirable effect, including having no effect at all. I'm aware of the issue, but currently have no plans to fix it. Just try switching the values of the 2 angle controls. Download from my plugin set
  14. Thermal Heat Map What's this? This plugin creates a heat map from an input image. Like this: Where do I find it? After installation, this plugin resides in the Effects > Distort submenu. How does it work? The plugin uses the intensity of the source image to create the map. Bright or light regions of the source image are interpreted being more intense, and are rendered in hotter colors. Dim or dark regions are interpreted as less intense, and therefore rendered in cooler colors. Transparent or semi transparent areas of the source image are interpreted as being less intense than the same area if it were fully opaque. Thus the output map will be cooler for these areas. Users should note that I've given the rendering loop a little randomization. This will mean that rendering the effect twice over duplicate images will likely not produce exactly the same effect both times. I've done this to reduce artefacts generated by the circular gradient brush if it's implementation is too regimented. The idea (and much of the code) came from here: http://dylanvester.c...C-Sharp%29.aspx The UI explained: Heatpoint Radius: Determines the size of the area colored by a single 'heat point'. Smaller radii render faster and reveal more detail, but the resultant map is cooler. Larger radii show less detail and render slower (sometimes much slower), the resultant map will be warmer. Thermostat: Used to control the temperature of the output map. Lower values (slide the bar left) lower the output temperatures. Higher values (slide right) create warmer temperatures. Invert Intensity: Think of this as flipping the thermostat (left to right). Cooler areas will now be warmer, and vice versa. Enhance Colors: Not happy with the washed-out look? Check this checkbox to make the colors more vivid. Warm colors will become even warmer, and cool colors colder. How do I install it? 1. Click the link below to download the zip file. 2. Unzip the file and copy or move the *.dll into your Paint.NET/Effects/ folder. 3. Restart Paint.NET.