Leaderboard


Popular Content

Showing content with the highest reputation since 04/25/2020 in all areas

  1. 6 points
    This effect allows you to change the color transparency separately in the R, G, and B channels. TransparencyRGB.zip You can find this effect in Adjustments menu. This effect has a simple intuitive interface. The English or Russian interface of the effect is detected automatically. Original image: Result of applying the effect with default settings: The result of applying the effect with the Invert checkbox checked: CodeLab source code: If the original image had transparent sections, they will be keep. I hope you will find a use for this effect.
  2. 6 points
    'Text Distortion' plugin is located in Effects > Text Formations. TextDistortion.zip
  3. 6 points
    As some of us have been worrying about what happened to @Seerose she is FINE ........... Hooray I just heard from her to say she's well, but been busy with some family things and she says a Big Hello to all on the forum 😍
  4. 6 points
    After having success with the Creative Text Pro plugin, I decided to give another of my plugins the "Pro" treatment... Object Shadow Pro v1.0 My goal in writing this plugin is to make this your "go to" plugin when it comes to making shadows no matter what kind of shadow you want. It can make 3 different kinds of shadows: your typical "drop shadow", a long modern shadow, and a 3D shadow. (See the screenshots for examples.) After using the Creative Text Pro plugin, use this plugin to add shadows to the lettering. This will really make it stand out! Remember, an "object" is a group of pixels on a layer that is completely surrounded by transparent pixels (or the edge(s) of the canvas). These are useful when doing "cutouts" or with text on a new, blank layer. If this plugin doesn't look like it is doing anything, you probably forgot to put your object on a blank canvas--white is NOT blank! Based on the check boxes you have selected, some controls will become unavailable. This is because they do not apply to the selected shadow type. Download Until I put this into my plugin pack, you can download the plugin file here: NOTE: This requires Paint.NET v4.2.11 and beyond. Download Click the download button, save the file to your desktop and unzip it. Run the included installer batch file. Once installed, look for it in your Effects > Object > Object Shadow Pro menu. (In the next version of my plugin pack, it will replace the Effects > Object > Object Shadow plugin. I will be waiting for Rick to release the official build of Paint.NET v4.2.11 first.) Source Code Enjoy.
  5. 5 points
    This update adds XMP metadata support, 3 new translations, some UI improvements, and several bug fixes. I'd like to point out the addition of a right-click menu that's now available from the thumbnail strip at the top of the window: If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions. For the Classic release, you should be offered the update automatically within the next week or so. You can get the update sooner by going to βš™ Settings β†’ Updates β†’ Check Now. You can also download and install it directly from the website. Changes since 4.2.10: New: XMP metadata is now preserved for supported file types (PDN, JPEG, PNG, TIFF, JPEG XR, HEIC, AVIF, WEBP) New: Belarusian (be) translation New: Greek (el) translation New: Slovenian (sl) translation New: Added a right-click context menu to the image thumbnail/tab. It contains commands for Copy Path, Open Containing Folder, Save, Save As, and Close. New: The items in the File -> Open Recent menu now have a tooltip with the full file path for the image Changed: The selection outline animation is now smoother (2x the framerate) Fixed: Saving with the HEIC file type is no longer limited to a max Quality value of 90. This limitation was in place because of a crash due to heap corruption, which no longer happens. Fixed: The NVIDIA sharpening setting will no longer cause trippy distortions in the canvas area Fixed an issue with loading very small TGA images, first reported here: https://forums.getpaint.net/topic/116100-tga-rle-truecolor-1x1-image-failed-to-load/. Thanks @null54 or the fix! Fixed: Error dialogs when opening images now consistently show the file path Fixed a PropertyNotFoundException error message when saving JPEG images with a particular ordering of metadata. This was due to a bug in Windows 7's WIC JPEG codec. First reported here: https://forums.getpaint.net/topic/116079-jpg-cant-save-some-file/ Fixed clipped text rendering in the Curves adjustment dialog in some non-English translations. Fixed a crash when running the app with a DPI scaling setting of 500% Fixed a crash that would sometimes happen when running effects with very small selections Fixed some IndirectUI controls not honoring their default values if also initialized in read only (disabled) mode. Thanks @BoltBait for the fix! Fixed a memory leak in the effect system that was causing 1 orphaned thread per effect invocation Changed: Removed the use of NTFS Transactions, which was causing trouble with OneDrive. Microsoft has also deprecated this technology. New: Added /openCrashLogFolder command-line argument. This is intended for simplifying troubleshooting workflows. New: Added /forceUpdateCheck command-line argument. This is intended for troubleshooting scenarios to simplify acquiring the latest version, e.g. "just run paintdotnet:/forceUpdateCheck" instead giving a longer list of buttons to click on. Updated WebPFileType plugin to version 1.3.4.0, which adds XMP metadata support. Thanks @null54! Updated DDSFileTypePlus plugin to version 1.10.3. This fixes an issue with saving in the A1R5G5B5, A4R4G4B4, and R5G6B5 formats, and adds support for reading files that use a 'BC7\0' FourCC. Thanks @null54! Enjoy!
  6. 5 points
    I recompiled the effect from the source code in the first post. Changes: Moved it into the Artistic submenu Added a Plugin Browser preview image (I cropped the example image in the first post) I was going to move it into Stylize, but Artistic is a better fit. TOON.zip Source code:
  7. 5 points
  8. 5 points
  9. 5 points
  10. 5 points
    ~ Wild West ~ No clipart, no stock - the only "real" thing is the Tinypic Goodbye which I modified for the poster. Thank you @lynxster4 for the horse shapes. The card symbols in the Poker Room are unicode. Enjoy! Gone For Good Lucky Night Three Of A Kind Take A Chance Trip Poker Room Hat Shop Thanks for your visit. Take chances and be lucky, you desperado.
  11. 5 points
    'Image Distortion' plugin is located in Effects > Distort. ImageDistortion.zip
  12. 5 points
    Hope everyone is still well! Haven't really done much in PDN while I was off for 6 weeks. πŸ™„ Opted to spring clean my home instead. Got lots done...yeah! This piece is based on a shape I was working on back in January and February...finally finished it. I have two versions...can't decide which I like better. I present Parrot Paradise Hope you enjoy them! 😊 (Both are clickable)
  13. 5 points
  14. 5 points
  15. 5 points
    A little tribute to this plugin (as I've finally learned how-to... ) Thanks a lot @Red ochre!
  16. 4 points
    Background made using the Making Polished Spacescapes v2 tutorial.
  17. 4 points
  18. 4 points
    CodeLab 5.4 Released This is only for Paint.NET 4.2.11+! Small (but important) update today... Changes: β–ͺ Improved suggested variable names (toe_head2001) β–ͺ Improvemens in Autocomplete and Intellisense (toe_head2001) β–ͺ Generate Type Definitions on F12. You can now see definitions inside of libraries. (toe_head2001) β–ͺ Remember scroll positions (and other things) when switching tabs (toe_head2001) β–ͺ Rewrite File New Template for up to 2 Scratch Surfaces, also bug fixes and better code (BoltBait) Grab the CodeLab DLL here: https://www.boltbait.com/pdn/CodeLab/ File New Template Improvements: When I completely rewrote the File New Templates in CodeLab 5.0, I was under the assumption that it was OK to use the DST surface as a scratch surface during the calculation of your final results. This is OK under some very narrow circumstances, but generally this should be avoided. (This could cause your effects to have different results when previewing your effect and when clicking OK to finalize your image.) In this release, I have removed this capability and replaced it with a second scratch surface called AUX. So, now you have access to the source surface (SRC) which is your layer before any changes are made, a working surface (WRK) to use as a scratch surface if necessary, a second working surface (AUX) to use if necessary, and of course the destination surface (DST) where you store your final calculated pixels. In previous versions, the blend modes had the top and bottom layers swapped--that's fixed in this build. The code generated should also be easier to understand. (This is the last update before toe_head2001 rewrites the entire compiler section.)
  19. 4 points
    The alpha went quite well -- there were just a bug that popped up in the UI code for the updater that seems to be finally squashed for good now. So, here's the beta! There are a few more fixes and improvements, most notably a right-click context menu has been added to the image/tab's thumbnail. You can also open up this menu by pressing Alt and - (minus). To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app). Changes since 4.2.11 alpha build 7420: New: Added a right-click context menu to the image thumbnail/tab. It contains commands for Copy Path, Open Containing Folder, Save, Save As, and Close. New: Slovenian (sl) translation New: Added /forceUpdateCheck command-line argument. This is intended for troubleshooting scenarios to simplify acquiring the latest version, e.g. "just run paintdotnet:/forceUpdateCheck" instead of a list of buttons to click on. New: Added /disableNtfsTx to disable the use of NTFS Transactions when saving images, which affords troubleshooting some scenarios that may be problematic. New: The items in the File -> Open Recent menu now have a tooltip with the full file path for the image Fixed: Error dialogs when opening images now consistently show the file path Fixed a crash that would sometimes happen when running effects with very small selections Updated WebPFileType plugin to version 1.3.4.0 (thanks @null54!) Enjoy!
  20. 4 points
    The image on my post above is gone. I found it on my HD but now I do not like it. So I decided to create a new one, hopefully better. The concept is the same because, after all... what are diamonds if not Marilyn's best friend? Combined with the Pleasantville Effect tutorial.
  21. 4 points
  22. 4 points
  23. 4 points
  24. 4 points
  25. 4 points
  26. 4 points
    I've been a staunch proponent of paint.net and have been using this program since sometime in about 2012. Most of my art from back then was either lost in various HDD failures, or simply does not look good enough to present today. However, I started to up my game in about 2018, and here is a selection of some of my best and most recent works that have solely used this program. If anyone would be at all interested, I do take commissions for art in the style of these on this embedded link.
  27. 4 points
    Approaching day 42 of isolation and my wife is considering a psych' evaluation ... this is too much fun @Ego Eram Reputo Thanks too to @Pixey for ThisTutorial Makes even more sense to me with this in the background https://www.youtube.com/watch?v=uco-2V4ytYQ ... now I'm worried too
  28. 4 points
    May Update Three new plugins this month including a welcome revision of ThatOtherApp by null54 and BoltBait's marvelous new shadowing plugin. Enjoy Object Shadow Pro v1.0 BoltBait Create various types of shadowing effects for objects (pixels surrounded by transparency). Drop shadows, modern and 3D shadowing are all supported. Replaces BoltBaits' Object Shadow in his plugin pack. ThatOtherApp Plus null54 Exports the active layer to other image editors. This is the revised and re-released version of Simon Brown's That Other App v2.2. Transparency RGB ReMake Change the color transparency separately in the R, G, and B channels.
  29. 4 points
    Thank you @Red ochre for the plugin and the tutorial. The Viking ship and the Vikings on the ship are clipart I found on the internet.
  30. 4 points
    CodeLab 5.3 Released This is only for Paint.NET 4.2.10+! Small (but important) update today... Changes: β–ͺ Fix File New Code Generation for Paint.NET v4.2.11 (BoltBait) β–ͺ Added Layer Rotate/Zoom to File New Templates Effects (BoltBait) β–ͺ Changed: The hotkey for the Debug Output pane is now Ctrl+Alt+O. Duplicate Line(s) is now performed when Ctrl+D is pressed. (toe_head2001) β–ͺ Changed: Editor tooltips will now hide when clicking or typing. This mimics behavior of Visual Studio. (toe_head2001) β–ͺ Improved editor support for Shapes. Better error messages. Tooltips and F12 Lookup are now supported on Tags and Attributes. (toe_head2001) β–ͺ Various small bug fixes to the Auto Complete box. (toe_head2001) β–ͺ Fixed reference to System.Core assembly for Paint.NET v4.2.11 (toe_head2001) Grab the CodeLab DLL here: https://www.boltbait.com/pdn/CodeLab/
  31. 3 points
    Hi ! This plugin uses a specific error diffusion method: Sub-block error diffusion. The block size is fixed to 3x3 in this plugin. The image is split into 3x3 boxes and boxes are replaced by a pattern selected from a fixed collection of patterns (small squares in this plugin). Patterns contain black and white pixels. Errors caused by the replacement is diffused to the neighbor pixels. The algorithm is described here http://caca.zoy.org/wiki/libcaca/study/3 This algorithm is well suited to generate ASCII art image with the right collection patterns and box size. Result: And the source code // Name: Blockifier // Submenu: Stylize // Author: Pascal Ollive // Title: Blockifier // Version: 1.0 // Desc: Binary sub-block error diffusion // Keywords: sub-block|diffusion|dither|binary // URL: // Help: #region UICode #endregion private static byte[] pattern0 = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; private static byte[] pattern1 = { 255, 255, 255, 255, 255, 255, 255, 255, 255 }; private static byte[] pattern2 = { 255, 255, 0, 255, 255, 0, 0, 0, 0 }; private static byte[] pattern3 = { 0, 255, 255, 0, 255, 255, 0, 0, 0 }; private static byte[] pattern4 = { 0, 0, 0, 0, 255, 255, 0, 255, 255 }; private static byte[] pattern5 = { 0, 0, 0, 255, 255, 0, 255, 255, 0 }; private static byte[] pattern6 = { 0, 0, 0, 0, 255, 0, 0, 0, 0 }; private static byte[] pattern7 = { 255, 0, 0, 0, 0, 0, 0, 0, 0 }; private static byte[] pattern8 = { 255, 0, 0, 255, 0, 0, 0, 0, 0 }; private static byte[][] arrayOfPatterns = { pattern0, pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8 }; private static byte getSafeSurfacePixel(Surface s, int x, int y) { if ((x >= 0) && (y >= 0) && (x < s.Width) && (y < s.Height)) { return s[x, y].GetIntensityByte(); } return 0; } private static void setSafeSurfacePixel(Surface s, int x, int y, byte luma8bit) { if ((x >= 0) && (y >= 0) && (x < s.Width) && (y < s.Height)) { s[x, y] = ColorBgra.FromBgr(luma8bit, luma8bit, luma8bit); } } private static void copyPattern(byte[] pattern, Surface s, int x, int y) { setSafeSurfacePixel(s, x, y, pattern[0]); setSafeSurfacePixel(s, x + 1, y, pattern[1]); setSafeSurfacePixel(s, x + 2, y, pattern[2]); setSafeSurfacePixel(s, x, y + 1, pattern[3]); setSafeSurfacePixel(s, x + 1, y + 1, pattern[4]); setSafeSurfacePixel(s, x + 2, y + 1, pattern[5]); setSafeSurfacePixel(s, x, y + 2, pattern[6]); setSafeSurfacePixel(s, x + 1, y + 2, pattern[7]); setSafeSurfacePixel(s, x + 2, y + 2, pattern[8]); } private static byte div64(int n) { if (n > 16351) { return 255; } if (n < 0) { return 0; } return (byte) ((n + 32) / 64); } private static void diffuseError(byte[] pattern, Surface s, int x, int y) { // [a][b][c] 0 // [d][e][f] 1 // [g][h][i] 2 //3 4 5 6 7 int[] pixelTemp = new int[8]; pixelTemp[0] = 64 * getSafeSurfacePixel(s, x + 3, y); pixelTemp[1] = 64 * getSafeSurfacePixel(s, x + 3, y + 1); pixelTemp[2] = 64 * getSafeSurfacePixel(s, x + 3, y + 2); pixelTemp[3] = 64 * getSafeSurfacePixel(s, x - 1, y + 3); pixelTemp[4] = 64 * getSafeSurfacePixel(s, x, y + 3); pixelTemp[5] = 64 * getSafeSurfacePixel(s, x + 1, y + 3); pixelTemp[6] = 64 * getSafeSurfacePixel(s, x + 2, y + 3); pixelTemp[7] = 64 * getSafeSurfacePixel(s, x + 3, y + 3); // [a] int error = getSafeSurfacePixel(s, x, y) - pattern[0]; pixelTemp[0] = pixelTemp[0] + 2 * error; pixelTemp[1] = pixelTemp[1] + 5 * error; pixelTemp[2] = pixelTemp[2] + 6 * error; pixelTemp[3] = pixelTemp[3] + 5 * error; pixelTemp[4] = pixelTemp[4] + 17 * error; pixelTemp[5] = pixelTemp[5] + 17 * error; pixelTemp[6] = pixelTemp[6] + 9 * error; pixelTemp[7] = pixelTemp[7] + error; // [b] error = getSafeSurfacePixel(s, x + 1, y) - pattern[1]; pixelTemp[0] = pixelTemp[0] + 6 * error; pixelTemp[1] = pixelTemp[1] + 9 * error; pixelTemp[2] = pixelTemp[2] + 8 * error; pixelTemp[3] = pixelTemp[3] + 2 * error; pixelTemp[4] = pixelTemp[4] + 11 * error; pixelTemp[5] = pixelTemp[5] + 16 * error; pixelTemp[6] = pixelTemp[6] + 11 * error; pixelTemp[7] = pixelTemp[7] + error; // [c] error = getSafeSurfacePixel(s, x + 2, y) - pattern[2]; pixelTemp[0] = pixelTemp[0] + 20 * error; pixelTemp[1] = pixelTemp[1] + 14 * error; pixelTemp[2] = pixelTemp[2] + 8 * error; pixelTemp[4] = pixelTemp[4] + 3 * error; pixelTemp[5] = pixelTemp[5] + 9 * error; pixelTemp[6] = pixelTemp[6] + 9 * error; pixelTemp[7] = pixelTemp[7] + error; // [d] error = getSafeSurfacePixel(s, x, y + 1) - pattern[3]; pixelTemp[1] = pixelTemp[1] + 2 * error; pixelTemp[2] = pixelTemp[2] + 5 * error; pixelTemp[3] = pixelTemp[3] + 7 * error; pixelTemp[4] = pixelTemp[4] + 23 * error; pixelTemp[5] = pixelTemp[5] + 18 * error; pixelTemp[6] = pixelTemp[6] + 8 * error; pixelTemp[7] = pixelTemp[7] + error; // [e] error = getSafeSurfacePixel(s, x + 1, y + 1) - pattern[4]; pixelTemp[1] = pixelTemp[1] + 6 * error; pixelTemp[2] = pixelTemp[2] + 9 * error; pixelTemp[3] = pixelTemp[3] + 2 * error; pixelTemp[4] = pixelTemp[4] + 12 * error; pixelTemp[5] = pixelTemp[5] + 21 * error; pixelTemp[6] = pixelTemp[6] + 13 * error; pixelTemp[7] = pixelTemp[7] + error; // [f] error = getSafeSurfacePixel(s, x + 2, y + 1) - pattern[5]; pixelTemp[1] = pixelTemp[1] + 20 * error; pixelTemp[2] = pixelTemp[2] + 14 * error; pixelTemp[4] = pixelTemp[4] + 2 * error; pixelTemp[5] = pixelTemp[5] + 11 * error; pixelTemp[6] = pixelTemp[6] + 15 * error; pixelTemp[7] = pixelTemp[7] + 2 * error; // [g] error = getSafeSurfacePixel(s, x, y + 2) - pattern[6]; pixelTemp[2] = pixelTemp[2] + 2 * error; pixelTemp[3] = pixelTemp[3] + 12 * error; pixelTemp[4] = pixelTemp[4] + 32 * error; pixelTemp[5] = pixelTemp[5] + 14 * error; pixelTemp[6] = pixelTemp[6] + 4 * error; // [h] error = getSafeSurfacePixel(s, x + 1, y + 2) - pattern[7]; pixelTemp[2] = pixelTemp[2] + 6 * error; pixelTemp[4] = pixelTemp[4] + 12 * error; pixelTemp[5] = pixelTemp[5] + 32 * error; pixelTemp[6] = pixelTemp[6] + 13 * error; pixelTemp[7] = pixelTemp[7] + error; // [i] error = getSafeSurfacePixel(s, x + 2, y + 2) - pattern[8]; pixelTemp[2] = pixelTemp[2] + 20 * error; pixelTemp[5] = pixelTemp[5] + 12 * error; pixelTemp[6] = pixelTemp[6] + 28 * error; pixelTemp[7] = pixelTemp[7] + 4 * error; // Apply error diffusion setSafeSurfacePixel(s, x + 3, y, div64(pixelTemp[0])); setSafeSurfacePixel(s, x + 3, y + 1, div64(pixelTemp[1])); setSafeSurfacePixel(s, x + 3, y + 2, div64(pixelTemp[2])); setSafeSurfacePixel(s, x - 1, y + 3, div64(pixelTemp[3])); setSafeSurfacePixel(s, x, y + 3, div64(pixelTemp[4])); setSafeSurfacePixel(s, x + 1, y + 3, div64(pixelTemp[5])); setSafeSurfacePixel(s, x + 2, y + 3, div64(pixelTemp[6])); setSafeSurfacePixel(s, x + 3, y + 3, div64(pixelTemp[7])); } // Weighted comparison (upper left pixel harder to compensate) // [ 8 7 5 ] // [ 7 6 5 ] // [ 5 5 4 ] // 3x3 pixel square private static int getPatternDiff(Surface s, int x, int y, byte[] pattern) { int patternDiff = Math.Abs(getSafeSurfacePixel(s, x, y) - pattern[0] + getSafeSurfacePixel(s, x + 1, y ) - pattern[1] + getSafeSurfacePixel(s, x + 2, y ) - pattern[2] + getSafeSurfacePixel(s, x, y + 1) - pattern[3] + getSafeSurfacePixel(s, x + 1, y + 1) - pattern[4] + getSafeSurfacePixel(s, x + 2, y + 1) - pattern[5] + getSafeSurfacePixel(s, x, y + 2) - pattern[6] + getSafeSurfacePixel(s, x + 1, y + 2) - pattern[7] + getSafeSurfacePixel(s, x + 2, y + 2) - pattern[8]); int weightedError = (8 * Math.Abs(getSafeSurfacePixel(s, x, y) - pattern[0]) + 7 * Math.Abs(getSafeSurfacePixel(s, x + 1, y ) - pattern[1]) + 5 * Math.Abs(getSafeSurfacePixel(s, x + 2, y ) - pattern[2]) + 7 * Math.Abs(getSafeSurfacePixel(s, x, y + 1) - pattern[3]) + 6 * Math.Abs(getSafeSurfacePixel(s, x + 1, y + 1) - pattern[4]) + 5 * Math.Abs(getSafeSurfacePixel(s, x + 2, y + 1) - pattern[5]) + 5 * Math.Abs(getSafeSurfacePixel(s, x, y + 2) - pattern[6]) + 5 * Math.Abs(getSafeSurfacePixel(s, x + 1, y + 2) - pattern[7]) + 4 * Math.Abs(getSafeSurfacePixel(s, x + 2, y + 2) - pattern[8])); return 52 * patternDiff + 9 * weightedError; } void Render(Surface dst, Surface src, Rectangle rect) { byte[] closestPattern = null; int arrayOfPatternLength = 0; int left = rect.Left / 3; int top = rect.Top / 3; int nbHorizontalBlock = (rect.Right - (3 * left) + 2) / 3; int nbVerticalBlock = (rect.Bottom - (3 * top) + 2) / 3; dst.CopySurface(src, rect.Location, rect); for (int y = 0; y < nbVerticalBlock; y++) { if (IsCancelRequested) return; for (int x = 0; x < nbHorizontalBlock; x++) { if (closestPattern == pattern3) { // include extra pattern arrayOfPatternLength = arrayOfPatterns.Length; } else { arrayOfPatternLength = arrayOfPatterns.Length - 1; } closestPattern = arrayOfPatterns[0]; int diffMin = getPatternDiff(dst, 3 * (x + left), 3 * (y + top), arrayOfPatterns[0]); for (int p = 1; p < arrayOfPatternLength; p++) { int diff = getPatternDiff(dst, 3 * (x + left), 3 * (y + top), arrayOfPatterns[p]); if (diff < diffMin) { closestPattern = arrayOfPatterns[p]; diffMin = diff; } } diffuseError(closestPattern, dst, 3 * (x + left), 3 * (y + top)); copyPattern(closestPattern, dst, 3 * (x + left), 3 * (y + top)); } } } Blockifier.zip
  32. 3 points
    Mosaic vs Sketch Same photos, different effects Facet I II Scribble I II Cuboids vs Scribble "What's your name?" - "Nine Ball." "No, what's your real name?" - "Eight Ball." Thanks for your visit. Have a safe weekend
  33. 3 points
    I enjoyed this one, thank you @Pixey. Now, on to more text tutorials.
  34. 3 points
    Very clever use of 3 Metalize layers. I coloured using Color Balance instead of Gradient Mapping.
  35. 3 points
    It's trial and error to find a texture that works well.
  36. 3 points
    So basically this simple plugin generates a random sound wave. Thats it! Example: https://prnt.sc/sd0gr3 SoundWave.zip SoundWave.cs
  37. 3 points
  38. 3 points
  39. 3 points
    The templates are up on the Marketplace: https://marketplace.visualstudio.com/items?itemName=toehead2001.PdnVsTemples
  40. 3 points
    Thank you @Foxxey. SoundWave with Polar Inversion:
  41. 3 points
    Paint.NET is an RGB editor. It allows you to choose colors based on the HSV color space as a convenience. However, it is not an HSV editor. There is no direct exact conversion between HSV and RGB color spaces. Therefore, if you choose a color by HSV you might be off by one the next time you use that color. This is a normal thing. If you want more precise color choosing, use the RGB values when specifying a color.
  42. 3 points
  43. 3 points
  44. 3 points
  45. 3 points
  46. 3 points
  47. 3 points
    Released beta version 0.8.0. Changes: Added support for lossless encoding of color and gray-scale images Reduced the file size when saving gray-scale images Reduced the file size when saving images with transparency Added XMP metadata support for Paint.NET 4.2.11 Reduced memory usage when loading images Note that this release requires Paint.NET 4.2.11 or later.
  48. 3 points
    Seems interesting, I might check it out at some point ... always did kinda dislike the way pencil drawing turns out
  49. 2 points
    Awesome Pack btw! used Psychocolour on this image heavily.
  50. 2 points
    ::keywords::Cubes|cubism|extrude|cuboid|3D|buildings|perspective|isometric|oblique|box|frame ::Menu::Effects/Iterative lines ::Original release date::21st March 2015 ::Author::Red ochre (John Robbins) ::dll name:: Cuboids Works on Pdn 3.5.11 and should work on Pdn4+ 'Cuboids' - you can get an ointment for them! A counterpart to 'Facets', turns an image into rectangular areas with added depth. The effect is adjustable between simple pixelating and one point perspective images resembling tower blocks. With the nadir control at the edge of its range it can produce isometric or oblique projections too. This is now in my v10 plugin pack here:Red ochre v10 plugin pack Some example images below. Please post any pictures you make with it in this thread! Enjoy.