Rick Brewster Posted May 20, 2023 Posted May 20, 2023 This update is a hotfix for 5.0.4 that fixes loading images that have multiple frames (GIF or TIFF). These are the release notes for 5.0.4: This update includes another revamp of Image->Resize's resampling modes, gamma correction for key parts of the app, higher quality canvas rendering, and a host of other miscellaneous fixes and improvements. In addition, GPU-based effect plugins now default to rendering in linear gamma space (existing plugins are not affected, however!) and have better access to color management information. Gamma correction is important for maintaining luminance (brightness, basically) when an image is being processed or rendered. Sometimes this effect is subtle, but in some cases it can be quite pronounced. First up, in Image->Resize the resampling mode has been moved to the bottom into an Options section, along with a new "Use gamma correction" checkbox that defaults to enabled: The Move Selected Pixels tool has also been upgraded to support this for all resampling modes (although it's not applicable to Nearest Neighbor), and there is a new Gamma mode choice in the toolbar if you'd rather not use it for whatever reason: Speaking of which, there is a good test image for this over at https://forums.getpaint.net/topic/122409-feature-request-gamma-corrected-image-resizing/ . I'll be using the "128 / 187" image for the next two screenshots. Next up, all in-app thumbnails and the canvas itself are now using gamma correction. This ensures that luminance (aka brightness) is correctly maintained when you're zooming out on the image (and thumbnails are basically little zoom-outs of the image). Previously, the reduced size image would get darker in ways that we've all just kind of gotten used to over the years (but which is wrong 🙂). Without gamma correction, it looks like this in v5.0.3: With gamma correction in v5.0.4, it looks correct: This required a bunch of changes to how the canvas renders itself, so while I was in that code I also bumped up the quality of its rendering. When zooming in to an image, a type of antialiasing is now applied so that the pixelation effect appears more uniform. And when zooming out, multisampling is used to make the image looking smoother. There are a lot less aliasing artifacts. It's hard to show these effects in your browser because things will likely get resized and distorted, but I'll try. On the left is the original, a cloud bubble drawn into a 128x128 pixel space. Antialiasing was disabled and the brush size was set to 1. The next two images are zoomed at 267%, in v5.0.3 and then in v5.0.4. Notice how the pixelation effect is much more uniform in 5.0.4, eliminating the distortions you see in 5.0.3. If you'd like to read more about gamma correction and rendering in linear gamma space, here are some resources: Gamma error in picture scaling, by Eric Brasseur http://www.ericbrasseur.org/gamma.html GPU Gems 3 Chapter 24, The Importance of Being Linear https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-24-importance-being-linear Understanding Gamma Correction, Cambridge in Colour https://www.cambridgeincolour.com/tutorials/gamma-correction.htm Gamma correction, Wikipedia https://en.wikipedia.org/wiki/Gamma_correction John Carmack (of id Software, DOOM, and Quake fame) recently tweeted about how incorrect gamma correction negatively affected the 4K UHD release of The Martian: https://twitter.com/ID_AA_Carmack/status/1654528504724062217 Get the Update There are two releases of Paint.NET: Microsoft Store release (recommended) You can purchase it here. This helps fund development and is an alternative or supplement to sending in a donation. If you already have it installed, the update should happen automatically once Microsoft certifies the update, usually within the next day. To get the update immediately (once it's certified), you can follow the instructions listed here. Classic Desktop release Download the installer from the website. This is the recommended download if you don't have Paint.NET installed. It can also be used to update the app. If you already have it installed, you should be offered the update automatically within the next week or so, but you can also get it immediately by going to ⚙ Settings -> Updates -> Check Now. Offline Installers and Portable ZIPs are available over on GitHub. Change Log Changes since v5.0.4: Fixed a bug that prevented loading images that have multiple frames (GIF, TIFF) (only the first frame is loaded) Changes since v5.0.3: Improved: Image->Resize has been updated The default resampling mode is now Bicubic, which has been updated to use the Catmull-Rom ("Catrom") cubic filter. This matches the Bicubic mode of the Move Selected Pixels tool (which uses Direct2D's "HighQualityCubic" mode). Added a new resampling mode, "Bicubic (Smooth)", which has no sharpening. It produces subjectively blurrier results, but is important for scenarios where you need to completely avoid the (usually) subtle ringing artifacts that other modes (Bicubic, Lanczos, and Adaptive) can introduce due to their added sharpness. "Adaptive (Best Quality)" has been renamed to "Adaptive (Sharp)" and is no longer the default resampling mode. It is still a very good choice when resizing photos, but whether you use Adaptive, Bicubic, or Lanczos is up to your own personal preference. A new option has been added, "Use gamma correction", which is enabled by default. The text box for typing in a percentage now accepts two digits past the decimal point, e.g. 35.79% Improved: Move Selected Pixels (free transform) has been updated New: Added a "Multisample Bilinear" sampling mode. This has a sharper look than Anisotropic and avoids the "ringing" artifacts that can be apparent when using Bicubic with high-contrast images (like screenshots). However, it doesn't usually work as well when reducing a selected area to a much smaller size. New: Added a "Gamma mode" button in the toolbar to toggle gamma correction on and off. The default is on, which improves the quality of rendering by preserving luminance (brightness). Fixed a bug when using Bicubic sampling that would result in added sharpening when resizing the selected area to 1/8th its original size or smaller Improved: The rendering quality of the canvas area has been greatly improved Gamma correction is now used for mipmap generation and compositing, ensuring consistent luminance (brightness) and higher quality antialiasing. Multisampling is now used for antialiasing, which eliminates pixelation distortions when zooming in, and greatly reduces aliasing artifacts when zooming out. Improved: Thumbnails within the app now use gamma correction, which ensures consistent luminance (brightness) New: GPU effects and plugins now support gamma correction, with linear gamma being the default rendering mode for new plugins. This can be changed by overriding OnInitializeRenderInfo() and setting the renderInfo.GpuEffectColorContext property to GpuEffectColorContext.WorkingSpace (the default is WorkingSpaceLinear) GPU effect plugins have better access to color management information via the IGpuEffectImage interface and its ColorContext property. All input images (e.g. Environment.SourceImage) are now provided via this interface. In addition to the built-in effects that already render with gamma correction, the following built-in effects now also render with gamma correction: Adjustments -> Exposure Blurs -> Fragment Blurs -> Motion Blur Blurs -> Radial Blur Blurs -> Zoom Blur Distort -> Bulge Distort -> Crystalize Distort -> Dents Distort -> Frosted Glass Distort -> Pixelate Distort -> Polar Inversion Distort -> Tile Reflection Distort -> Twist Layers -> Rotate/Zoom Object -> Drop Shadow Photo -> Straighten Render -> Julia Fractal Render -> Mandelbrot Fractal Fixed: Ctrl+G has been reinstated as the shortcut key for Image -> Rotate 90° Counter-Clockwise Fixed a rendering glitch in Effects -> Distort -> Dents that would sometimes result in rows or columns of incorrectly colored pixels Fixed: Some systems were having problems with Paint.NET not appearing in the "Open With" list in Windows File Explorer. This should now be fixed. Fixed: When installing an update, the desktop shortcut is no longer recreated. This means you can delete it without it reappearing after every update. This was a bug accidentally reintroduced back in Paint.NET v4.3. Increased the maximum zoom range from 1.5625% (1/64) -> 6,400% to 1% -> 10,000% Improved the reliability of the wrapper classes for Windows COM libraries (Direct2D, etc.) Improved the /ignoreCorruptPDNChunks command-line parameter to allow an additional type of corrupt PDN image to be partially recovered (thanks @null54!) Updated the bundled DDSFileTypePlus plugin to version 1.11.8.0, which adds gamma correction for mipmap generation (thanks @null54!) Updated the bundled AvifFileType plugin to version 1.1.25.0, which now uses a checkbox to enable lossless compression (thanks @null54!) Updated the bundled WebPFileType plugin to version 1.3.17.0, which reduces some confusion when using lossless compression (thanks @null54!) 1 1 1 1 The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
Roly Poly Goblinoli Posted May 20, 2023 Posted May 20, 2023 visual glitch with the position of the handle when you use the scroll wheel to increase zoom to 10,000 only when using the scroll wheel for it 1
Rick Brewster Posted May 20, 2023 Author Posted May 20, 2023 10 minutes ago, NinthDesertDude said: visual glitch with the position of the handle when you use the scroll wheel to increase zoom to 10,000 only when using the scroll wheel for it Interesting -- I'll take a look at it for 5.0.6. Doesn't seem like a high priority issue that warrants a hotfix though Thanks for reporting it! 1 1 The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
Random Finn Posted May 21, 2023 Posted May 21, 2023 Are there any plans to give full implementation of GIFs in paint.net, like loading all the frames or exporting GIFs with adjustable settings and what not? Similar to GIMP I would think--obviously it already exists in GIMP so it's not a huge deal if it isn't added into paint.net, it would simply be less of a hassle to get to a final product
Rick Brewster Posted May 22, 2023 Author Posted May 22, 2023 @Random Finn not really but there are plugins for it The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
M0lz Posted May 23, 2023 Posted May 23, 2023 Rick and Null54 - Thank you for your continued excellent work on Paint.NET. 1
TrevorOutlaw Posted May 23, 2023 Posted May 23, 2023 How close is Paint.NET to implementing custom brush solutions? 1
Rick Brewster Posted May 24, 2023 Author Posted May 24, 2023 New update just released: The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
Recommended Posts