paint.net 5.0.5 is now available

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:

image.png

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:

image.png

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:

image.png

With gamma correction in v5.0.4, it looks correct:

image.png

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 128×128 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.

image.png image.pngimage.png

If you’d like to read more about gamma correction and rendering in linear gamma space, here are some resources:

Get the Update

There are two releases of Paint.NET:

  • Microsoft Store release (recommended)
  • 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!)

paint.net 5.0.4 is now available

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:

image.png

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:

image.png

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:

image.png

With gamma correction in v5.0.4, it looks correct:

image.png

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 128×128 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.

image.png image.pngimage.png

If you’d like to read more about gamma correction and rendering in linear gamma space, here are some resources:

Get the Update

There are two releases of Paint.NET:

  • Microsoft Store release (recommended)
  • 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.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!)

paint.net 5.0.4 beta (build 8529) is now available

This build includes an update 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:

image.png

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:

image.png

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).

Without gamma correction, it looks like this in v5.0.3:

image.png

With gamma correction in v5.0.4, it looks correct:

image.png

Since this required a bunch of updates to how the canvas renders itself, 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 128×128 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.

image.png image.pngimage.png

If you’d like to read more about gamma correction and rendering in linear gamma space, here are some resources:

―――――

This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

image.png

You can also download the installer here (for any supported CPU and OS). Offline installers, portable ZIPs, and deployable MSIs are available over on GitHub.

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 may produces blurrier results, but is important for some scenarios if you need to completely avoid 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 linear gamma and/or 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.
  • Improved: 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 to allow an additional type of corrupt PDN image to be partially recovered (thanks @null54!)
  • Updated the bundled DDSFileTypePlus plugin to v1.11.8.0, which adds gamma correction for mipmap generation (thanks @null54!)
  • Updated the bundled WebPFileType to version v1.3.17.0, which reduces some confusion when using lossless compression (thanks @null54!)

paint.net 5.0.3 is now available

This update adds the ability to draw shapes from the center, the ability to resize shapes and selections uniformly (from the center), as well as the usual handful of bug fixes.

In this update I’ve also rewritten the Direct2D initialization code to modernize it (switching away from ID2D1HwndRenderTarget, in other words). For now you should see no difference, in terms of rendering or performance, compared to previous versions. Future updates should see reduced memory usage and improved canvas interaction capabilities as I investigate and integrate the use of newer Windows libraries like DirectComposition and DirectManipulation.

For all the details on what’s new in 5.0 (there’s a lot!), check out its release post.

Changes since 5.0.2:

  • New: You can now draw from the center when using the Shapes or Line/Curve tools by holding down Ctrl. You can also resize uniformly by holding Ctrl.
  • New: You can now resize uniformly (“centered”) by holding down Ctrl when using the Move Selection or Move Selected Pixels tools
  • Fixed: Edit -> Copy and Copy Merged are no longer greyed out (disabled) when a selection is not active; they will copy the entire layer or image. You could always use the keyboard shortcuts (Ctrl+C or Ctrl+Shift+C) to invoke these commands, but the menu items were not clickable.
  • Fixed: Right-clicking on the color wheel in the Colors window will now set the secondary color
  • Fixed some issues with the Text tool recentering the view when it shouldn’t when keys like Ctrl are pressed
  • Fixed some JPEG images failing to load because of malformed IPTC metadata
  • Fixed a rare crash in the Magic Wand and Paint Bucket tools
  • Fixed an uncommon rendering glitch with the Text tool when antialiasing is disabled
  • Fixed an issue with some older plugins that were using the legacy Gaussian Blur effect with radius=0
  • Added an /ignoreCorruptPDNChunks command-line parameter to assist with certain data recovery scenarios for .PDN files
  • Updated the Direct2D initialization code in order to modernize it and enable future work that will optimize performance, memory use, and interactivity (e.g. with DirectComposition and DirectManipulation)
  • Updated the bundled DDSFileTypePlus plugin to version 1.11.4.0, which adds error diffusion dithering support for the BC1-3 formats (thanks @null54!)

Get the Update

There are two releases of Paint.NET:

  • Microsoft Store release (recommended)
  • 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.

paint.net 5.0.3 beta (build 8482) is now available

This update contains a handful of targeted fixes, and the ability to draw (and resize) shapes from the center.

In this update I’ve also rewritten the Direct2D initialization code to modernize it (switching away from ID2D1HwndRenderTarget, in other words). For now you should see no difference, in terms of rendering or performance, compared to previous versions. Future updates should see reduced memory usage and improved canvas interaction capabilities as I investigate and integrate the use of newer Windows libraries like DirectComposition and DirectManipulation.

If you have multiple monitors and/or multiple GPUs, especially if you have multiple monitors plugged into different GPUs, then I’d very much appreciate you testing this build! Launch the app, move it to other monitors, maximize it, restore/minimize, do all sorts of things. Everything should just work like it always has. Please let me know immediately if the app crashes, stops rendering, or hangs.

―――――

This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

image.png

Download the installer here (for any supported CPU and OS). Offline installers, portable ZIPs, and deployable MSIs are available over on GitHub.

Changes since 5.0.2:

  • New: You can now draw from the center when using the Shapes or Line/Curve tools by holding down Ctrl. You can also resize uniformly by holding Ctrl.
  • New: You can now resize uniformly (“centered”) by holding down Ctrl when using the Move Selection or Move Selected Pixels tools
  • Fixed: Edit -> Copy and Copy Merged are no longer greyed out (disabled) when a selection is not active; they will copy the entire layer or image. You could always use the keyboard shortcuts (Ctrl+C or Ctrl+Shift+C) to invoke these commands, but the menu items were not clickable.
  • Fixed: Right-clicking on the color wheel in the Colors window will now set the secondary color
  • Fixed some issues with the Text tool recentering the view when it shouldn’t when keys like Ctrl are pressed
  • Fixed some JPEG images failing to load because of malformed IPTC metadata
  • Fixed a rare crash in the Magic Wand and Paint Bucket tools
  • Fixed an uncommon rendering glitch with the Text tool when antialiasing is disabled
  • Fixed an issue with some older plugins that were using the legacy Gaussian Blur effect with radius=0
  • Added an /ignoreCorruptPDNChunks command-line parameter to assist with certain data recovery scenarios for .PDN files
  • Updated the Direct2D initialization code in order to modernize it and enable future work that will optimize performance, memory use, and interactivity (e.g. with DirectComposition and DirectManipulation)
  • Updated the bundled DDSFileTypePlus plugin to version 1.11.4.0, which adds error diffusion dithering support for the BC1-3 formats (thanks @null54!)

paint.net 5.0.2 is now available

This is a small update with some performance improvements, bug fixes, and updates to the bundled plugins.

For all the details on what’s new in 5.0 (there’s a lot!), check out its release post.

Changes since 5.0.1:

  • New Adjustment: Invert Alpha
  • Greatly improved performance for some distortion effects (Bulge, Crystalize, Dents, Frosted Glass)
  • Improved performance with large images, especially when making small/quick edits
  • Fixed keyboard tabbing between the Width and Height text boxes in the toolbar when using Fixed Ratio or Fixed Size with the Rectangle Select tool
  • Fixed Bokeh blur effect’s handling of the alpha channel for images with transparency
  • Fixed the keyboard up/down increments for the Offset property in the Drop Shadow effect
  • Fixed compatibility with the Lightning effect plugin
  • Fixed compatibility with the ApplyTexture effect plugin
  • Removed keyboard shortcuts for Image -> Rotate 90° Counter-clockwise and Rotate 180°
  • Updated the bundled AvifFileType plugin to version 1.1.24.0 (thanks @null54!)
  • Updated the bundled DDSFileTypePlus plugin to version 1.11.1.0 (thanks @null54!)

Get the Update

There are two releases of Paint.NET:

  • Microsoft Store release (recommended)
  • 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.

paint.net 5.0.1 is now available

This is a small update with a few important bug fixes, updates to the bundled plugins, and a new toolbar button to enable/disable pressure sensitivity.

For all the details on what’s new in 5.0 (there’s a lot!), check out its release post.

Changes since 5.0:

  • New: Added a button in the toolbar, next to Brush Size, for enabling/disabling pressure sensitivity. The button will only appear if a compatible pen or drawing tablet is detected, and Windows Ink has not been disabled in Settings.
  • Fixed some issues with the main window that would only happen on multimonitor Windows 10 systems
  • Fixed a few small issues with the Zoom tool
  • Fixed an issue when saving a JPEG or TIFF with certain types of 0-length IPTC metadata
  • Fixed: On older systems with multiple GPUs (e.g. Intel HD iGPU and an AMD/NVIDIA dGPU), where the first enumerated GPU does not support Direct3D 11, PDN will now use the next enumerated GPU that meets the Direct3D 11 requirement, rather than falling back to CPU rendering.
  • Fixed a rendering bug when using the Pencil tool on small images exactly 2 pixels wide
  • Fixed some crashes on systems with buggy GPU drivers. Paint.NET will try to revert to software rendering in this case.
  • Fixed a crash on some systems with multiple pen/tablet devices, where some of the devices were claiming the same cursor ID
  • Changed: All binaries are now digitally signed, not just EXEs and the shell extension DLLs (thanks @null54 for the help!)
  • Updated the bundled AvifFileType plugin to version 1.1.23, which fixes an issue with progressive decoding (thanks @null54!) 
  • Updated the bundled DDSFileTypePlus plugin to version 1.11.0.0, which now detects files saved with the wrong extension and tries to load the file anyway (thanks @null54!)
  • Updated the bundled WebPFileType plugin to version 1.3.16.0, which fixes the detection of misnamed files (thanks @null54!)

Get the Update

There are two releases of Paint.NET:

  • Microsoft Store release (recommended)
  • 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.

paint.net 5.0 is now available!

Welcome to Paint.NET 5.0! This major update has many performance improvements, new features including pressure sensitivity for pens and drawing tablets, and a brand new effect plugin system with GPU rendering support. Almost all of the built-in effects and adjustments now render using the GPU, greatly improving their performance and quality.

To get the update, scroll all the way to the bottom to the big bold “Get the Update” text.

image.png

What’s New

Pressure Sensitivity

Back by popular demand*, pressure sensitivity is now supported, enabling you to draw beautiful, natural-looking brush strokes (see above). Support for the Windows “pointer” input system (aka “Windows Ink”) is required. Most devices support this, including the Surface Pen and various drawing tablets from Wacom, UGEE, and more.

Path smoothing, sometimes called stabilization, is now implemented (enabled by default in the toolbar):

image.png

There is a new spacing property in the toolbar. The default is 15% which does a great job, but sometimes you need finer control. This also enables new styles of drawing, such as the following which was drawn with a spacing value of 200%:

image.png

The newly rewritten brush engine is supported by all of the brush tools: Paintbrush, Eraser, Clone Stamp, and Recolor. Support for more brush shapes and types, including custom brushes, will be making an appearance in a future update.

GPU, GPU, GPU!

Paint.NET, since v4.0, has already been using hardware accelerated rendering for drawing the canvas to the screen. In v4.1, GPU acceleration was added to a few effects (blurs, mostly). In v5.0, support for the GPU has been greatly expanded. More of the UI is now using using the GPU, including the Layers and History windows, the ruler, the image list at the top of the main windows, and the UI for the Curves and Levels adjustments. This improves performance, and also helps battery life on laptops.

In addition, (almost**) all adjustments and effects now use the GPU, resulting in much higher performance by leveraging Direct2D’s imaging and effects system with pixel shaders implemented using Sergio Pedri’s @sergiopedri fantastic ComputeSharp.D2D1 library. These effects are now running with full 32-bit floating point precision (128-bits per pixel), which greatly improves the quality of rendering and the accuracy of colors as they move through the processing pipeline.

Effect plugins can now use the GPU for rendering as well, and have full access to the Windows graphics libraries Direct2D, DirectWrite, and Windows Imaging Component (WIC). More on that later. (File Type plugins can also use these libraries, but GPU rendering is not supported there.)

The Move Selected Pixels tool has been upgraded to use the GPU when the Bicubic sampling option is selected. The performance of this proved to be so good that it is now the default mode (unless you are using software rendering or an Intel HD/UHD GPU, in which case Bilinear is still the default). A new Anisotropic sampling mode has been added, which also uses the GPU. Whether you use Bicubic or Anisotropic is up to personal taste; the former produces a sharper result, while the latter produces a smoother/softer result.

(Click for full-size image)

image.png

Configuration of GPU support is split into two sections: hardware acceleration for UI and the canvas, which can be enabled or disabled, and selection of the GPU that is used for rendering (tools, adjustments, and effects). By default Paint.NET will use what Windows identifies as the “performance GPU” for rendering, which ensures you get the best performance on systems with both an integrated GPU (“iGPU”) and a discrete GPU (“dGPU”). Previously, Paint.NET would only ever use the iGPU, so this is a huge performance improvement on laptops with hybrid graphics. The UI/canvas will always use what Windows identifies as the “default” GPU, which is usually the iGPU, and this helps ensure better battery life.

image.png

Apply Embedded Color Profile

Paint.NET does not have a Color Management System (CMS) like Photoshop, Krita, or The GIMP. I’m hoping to add that in a future update, but for now Image -> Apply Embedded Color Profile is a pragmatic solution that will help you make your images look correct.

image.png

Paint.NET, since v4.2, does a great job at preserving image metadata including EXIF, XMP, IPTC (new in 5.0 thanks to @null54), and color profiles. However, it does nothing with the color profile. If you’ve ever opened an image and the colors looked wrong inside the app and different outside of it (e.g. in your web browser), this is probably why. This command will convert the image to the sRGB color space and then remove the color profile metadata, enabling you to make edits while seeing the image in the way that it was meant to be seen.

Before and after example: (image source)

image.png image.png

Image -> Resize Improvements

Image -> Resize has been updated with new resampling modes: Adaptive and Lanczos. The Bicubic and Bilinear modes have been updated with improved quality, while the old implementation of Bilinear is now called Bilinear (Low Quality) and is akin to linear filtering in 3D graphics engines (only 4 samples per output pixel). Other than Bilinear (Low Quality), Nearest Neighbor, and Fant, these are all powered by Clinton Ingram‘s @saucecontrol amazing PhotoSauce.MagicScaler library. It produces extremely high quality results, and is also ultrafast.

image.png

Please note that the Super Sampling mode has been removed. The Adaptive mode produces superior quality, and should be used instead.

New Adjustments

There are a handful of new adjustments in this release: Exposure, Highlights / Shadows, and Temperature / Tint. These are staples of photo editing that you have previously needed to install plugins for.

image.png image.png
image.png image.png

In addition, the Sepia adjustment has been improved with an Intensity slider. A value of 0 produces grayscale, 50 is equivalent to previous versions of Paint.NET, and 100 is much more saturated.

image.png image.png image.png

New Effects

There’s a new Straighten effect, located in the Effects -> Photo submenu, which makes it easy to rotate and automatically zoom an image so that it fits within the canvas without any transparency creeping in along the edges:

image.png image.png

There’s now a built-in Drop Shadow effect, available in the Effects -> Object submenu. With the new Direct2D GPU image processing system, this was very easy to implement, and the performance is fantastic:

image.png

Bokeh Blur Effect

Lastly, Paint.NET now has a very high-quality Bokeh blur effect! This replaces the old Unfocus blur effect (which was Bokeh under a different name), both of which simulate the aesthetic quality of the blur produced by out-of-focus parts of an image. Developed in collaboration with Sergio Pedri @sergiopedri and Mike Pound (as seen on the Computerphile YouTube channel, like this one about Complex Bokeh Blurs), this version of Bokeh has a Quality slider that goes up to 10 instead of the usual 6 that you may have seen in other implementations such as ImageSharp’s (further details available on GitHub). This produces an extremely high quality result that eliminates almost all fringing artifacts, even on gamma-corrected images or those with a lot of contrasting edges. Be sure to crank the quality up when you’re also increasing the Gamma Exponent property, but be warned: it’s a bit of a GPU killer!*** This is available in the Effects -> Blurs menu:

image.png image.png

New Effect Plugin System

There’s a brand new, fully modernized system for effect plugins to use. The old system still works, and older plugins are still compatible. However, the new system has a lot of benefits and should be the basis for any new effect plugins.

The biggest new feature is hardware accelerated GPU rendering using Direct2D, its effects system, and pixel shaders. The base class for this is GpuEffect, although most plugins will want to use GpuImageEffect (or PropertyBasedGpuImageEffect to leverage IndirectUI) in order to best make use of the graph-based (“node-based”) effects and image processing system. There is also GpuDrawingEffect for when you want to issue imperative drawing commands (geometry, text, etc.). If you want to see how to work with all of this, I have written some sample plugins and the source code is available on GitHub.

On the CPU side, BitmapEffect is the replacement for the “classic” Effect class, and has some goodies of its own including expanded pixel format support: you can now read the image and its layers, and produce your output, in the pixel format of your choice including BGRA32, PBGRA32, RGBA64, or even CMYK32. Anything other than BGRA32 will eventually be converted back to BGRA32, but for now this enables you to more easily perform rendering at higher precision. Eventually, layers themselves will support these other pixel formats, and this will ensure that your effect is able to read and render at native precision.

Effect plugins can now access all layers of the current image. This is a big one! In addition, there’s also the ability to retrieve a composite bitmap of the whole image (all layers blended together).

Effect plugins can now access the image’s metadata, including EXIF, XMP, and IPTC (thanks @null54 for the IPTC support!). This is already being used in an update for @null54‘s PSFilterPdn plugin.

Effect plugins can now render outside of the active selection by using the DisableSelectionClipping rendering flag. This makes it possible to implement effects like drop shadows that are drawn around the selection, not just inside of it.

Effect plugins can now add tabs to their UI! IndirectUI-based plugins (e.g. PropertyBasedGpuImageEffect) can now add tabs to their UI in arbitrary configurations. @BoltBait has been using this a lot in his updated plugin pack, and has written a tutorial on how to use it in your own plugins. It’s also possible, in your rendering code, to know which tab is active, which is useful when you want to render decorations that you don’t include in the final rendering (you’d have a “Finish” tab with any final configuration properties). “Classic” effects (deriving from PropertyBasedEffect) can also use tabs.

There’s a new Label control which you can use to add text that isn’t tied to a property, or even just for adding some whitespace. There’s a new ShowHeaderLine property which you can use to remove the horizontal line from the property’s header (most of the built-in effects now use this). Drop-down controls can also set Multiline to false so that the label and the dropdown are drawn on the same line. Lastly, there is a new SetTargetWhenSourceEqualsAnyValueRule property collection rule which you can use to implement, among other things, correlations between dropdown and slider controls, as seen in the new Bokeh blur and updated Gaussian Blur effects.

Here’s a screenshot from @BoltBait‘s updated plugin pack, which makes great use of tabs and other new IndirectUI features:

image.png

Effects with custom UI (not IndirectUI-based) can use Direct2DControl to create custom controls using Direct2D, including support for hardware accelerated rendering on the GPU. There is also a Direct2DPictureBox control that you can use to display a static bitmap and render additional content above or below it.

Improved Effects and Adjustments

Many of the existing effects have been improved and updated, in addition to all being run on the GPU now:

  • Layers -> Rotate / Zoom, technically a distortion effect, now has a Quality slider, a Sampling property, and redone tiling capability.
    • The Tiling checkbox has been replaced with a Tiling Mode dropdown where you can choose between Transparent, Wrap, or Mirror.
    • Setting the Sampling property to Nearest Neighbor, while also zooming in, produces a pixelated and antialiased appearance.
  • Adjustments -> Brightness / Contrast now uses the GPU for rendering.
  • Adjustments -> Hue / Saturation now uses the GPU for rendering.
  • Adjustments -> Posterize now uses the GPU for rendering, and also allows posterization of the alpha channel.
  • Adjustments -> Sepia now uses the GPU for rendering and has an intensity slider.
  • Effects -> Artistic -> Ink Sketch now runs on the GPU and is significantly faster.
  • Effects -> Artistic -> Pencil Sketch now runs on the GPU and is significantly faster.
  • Effects -> Blurs -> Bokeh is a new effect that replaces the Unfocus effect. It uses the GPU for rendering.
  • Effects -> Blurs -> Fragment now uses the GPU for rendering and has improved rendering quality.
  • Effects -> Blurs -> Gaussian Blur has an increased range for its radius property which can now be specified in 0.1 pixel increments. It now also has a Gamma dropdown, Gamma Exponent slider, and a Quality slider.
    • The Gamma dropdown defaults to “sRGB (2.2)” which ensures gamma-correct results.
      • Setting this to “Linear (1.0)” will produces the same results as previous versions of Paint.NET.
    • The Gamma Exponent slider can be used to increase the prominence of brighter regions of the image. Values less than 1 produce a strange color bleeding effect that can be fun.
    • The quality level ranges from 1 to 4. The first 3 correspond to the optimization property of Direct2D’s Gaussian Blur effect, while the 4th level is a new, custom implementation that renders at an obscenely high level of quality and improves results with gamma-corrected or gamma-exaggerated rendering.
    • Previous versions of Paint.NET (v4.1 – v4.3) always rendered equivalently to a quality value of 3.
    • Warning: the 4th quality level is a GPU killer*** — even the fastest GPUs will struggle with this one!
  • Effects -> Blurs -> Motion Blur now has an Edge Mode property to control how pixel samples outside of the image are determined.
  • Effects -> Blurs -> Radial Blur has improved rendering quality, and its quality slider can now be set between 1.0 and 8.0 in steps of 0.1.
  • Effects -> Blurs -> Zoom Blur now uses the GPU for rendering, has improved rendering quality, and a Focus property to control the balance between the foreground and background. It now also has a quality slider thar can be set between 1.0 and 8.0 in steps of 0.1.
  • Effects -> Distort -> Bulge now uses the GPU for rendering, has improved rendering quality, and an Edge Behavior property.
  • Effects -> Distort -> Crystalize now uses the GPU for rendering and has improved rendering quality.
  • Effects -> Distort -> Dents now uses the GPU for rendering, has improved rendering quality, and an Angle property.
  • Effects -> Distort -> Frosted Glass now uses the GPU for rendering, has improved rendering quality, a Diffusion property, and a Randomize button.
    • The Diffusion property controls how pixels are distributed between the Minimum and Maximum Scatter Radius. Lower values will distribute pixels closer to the minimum radius, a value of 1.0 (the default) will evenly distribute pixels, and higher values will distribute pixels closer to the maximum radius.
    • Previously, the randomization would be reset every time you changed one of the property sliders. Now you can modify the effect in a more stable way and only re-randomize when you want to.
  • Effects -> Distort -> Pixelate now lets you specify a Scale Down and a Scale Up mode (pixelation is implemented by first scaling the image down, and then scaling it back up). This allows you to fine-tune the look of the effect for what you want to achieve.
  • Effects -> Distort -> Polar Inversion now runs on the GPU which has greatly improved its performance, and it has improved rendering quality.
  • Effects -> Distort -> Tile Reflection now runs on the GPU, has improved rendering quality, and an Edge Behavior property which can produce some really interesting results.
  • Effects -> Distort -> Twist now renders on the GPU and has improved rendering quality.
  • Effects -> Noise -> Add Noise now runs on the GPU and has a Randomize button. It will not re-randomize on every property change like it used to.
  • Effects -> Photo -> Glow now runs on the GPU and is significantly faster.
  • Effects -> Photo -> Sharpen was completely rewritten to produce much better results. It now has a Threshold slider.
  • Effects -> Photo -> Soften Portrait now runs on the GPU and is significantly faster.
  • Effects -> Photo -> Vignette now runs on the GPU and is significantly faster.
  • Effects -> Render -> Clouds now has a large number of additional blend modes.
  • Effects -> Render -> Julia Fractal and Mandelbrot Fractal now run on the GPU and are significantly faster. Depending on your CPU and GPU, you will see a performance improvement between 2x to 100x. You can also now choose a Blend Mode for these effects.
  • Effects -> Render -> Turbulence now has a Blend Mode dropdown instead of a Blend checkbox.
  • Effects -> Stylize -> Emboss now runs on the GPU and is significantly faster.
  • Effects -> Stylize -> Edge Detect has been completely rewritten. Instead of an Angle property, it now has Strength and Blurring sliders, an Algorithm dropdown (Sobel or Prewitt), and an Overlay Edges checkbox.
Miscellaneous

There are a lot of smaller changes throughout the app as well:

  • The Line/Curve tool has higher quality antialiasing, and a new Straight mode (in addition to Spline and Bezier).
    image.png
  • The Shapes tool has higher quality antialiasing as well.
  • The brightness of the transparency checkerboard can now be configured in Settings.
    image.png
  • Thumbnails in the Layers window have been made larger by 20%, making them easier to see at a glance.
  • IPTC metadata is now preserved. Plugins can also read/write IPTC metadata. Thanks to @null54 for implementing this!
  • You can now click-and-hold on +/- buttons in the toolbar instead of repeatedly clicking on them.
  • The selection is now rendered using the GPU, which helps with both performance and battery life.
  • Effects now run at a higher, smoother framerate. Previously the screen was updated at a fixed 20 frames-per-second, but now these updates are done as soon as possible. On a fast system with a high-refresh rate monitor you will really see the difference.
  • On non-English systems, Paint.NET will attempt to auto-localize the submenu names that effect plugins specify. For example: an Italian user will now see just a “Sfocature” sub-menu instead of both “Sfocature” and “Blurs”.
  • 32-bit CMYK images are now correctly imported. They are transformed to 32-bit BGRA sRGB and the color profile is removed. Thanks to Clinton Ingram @saucecontrol for suggesting and consulting on this.
  • There has been significant optimization through the rendering engine to reduce and remove transient allocations. Most rendering code is now able to run completely free of allocations. The whole app feels smoother! (When I’ve run v4.3.12 and v5.0 side-by-side, the new version was noticeably smoother at updating the canvas.)
  • The app has been updated to run on .NET 7, and all legacy C++/CLI code has been ported to C# with the help of Tanner Gooding‘s excellent TerraFX.Interop.Windows library.
  • The bundled AvifFileType plugin has been updated to version 1.1.22.0 (thanks @null54!)
System Requirements
  • Windows 10 v1809+ or Windows 11
    • NOTE: Windows 8.1 and Windows 7 SP1 are no longer supported.
  • 64-bit CPU and 64-bit version of Windows
    • Both Intel/AMD x64 and ARM64 are natively supported.
    • NOTE: 32-bit x86 is no longer supported.
  • Optional:
    • A pen or drawing tablet that supports Windows Ink
  • Recommended:
    • A CPU that supports AVX2, which includes most CPUs released since 2013.
      • Note that AVX2 is not required, but it helps performance quite a bit.
    • A discrete GPU such as an NVIDIA GeForce, AMD Radeon, or Intel Arc
      • or an AMD Radeon APU (a type of integrated GPU)
      • or an Intel Iris Plus or Iris Xe integrated GPU
    • The GPU must support Direct3D 11. Otherwise the CPU will be used for rendering, which will have much lower performance.
    • An Intel HD or UHD iGPU also works, but the default quality used across the app (e.g. in distortion effects and the Move Selected Pixels tool) will automatically be lowered in order to improve performance.

Get the Update

There are two releases of Paint.NET 5.0:

  • Microsoft Store release (recommended)
  • Classic Desktop release
    • Download the installer directly (web installer for all supported CPUs and OSes). 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.

* Pressure sensitivity was removed in v3.5, back in 2009, due to various technical issues with its implementation and lack of suitable hardware to test on.

** The only effects/adjustments that do not yet run on the GPU are: Auto-Level, Curves, Levels, Oil Painting, Surface Blur, Unfocus, Quantize, Median, Reduce Noise, Red Eye Removal, and Outline

*** Not literally. It will not damage your GPU, it just requires a lot of processing power.

paint.net 5.0 beta (build 8407) is now available

First, check out the post for the first 5.0 alpha build to read about all the latest changes, additions, and fixes. There’s a lot!

We’re now at the beta stage for this release, which means 5.0 is feature complete, translations are complete, and all that’s left is to squash any outstanding bugs. If you find any bugs it is very important for you to report them! Do not assume that a bug has already been noticed or will be fixed.

This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

image.png

The main change in this build is with respect to how Gaussian Blur and Bokeh implement gamma. Prior to this release, Gaussian Blur always operated in linear (1.0) gamma by default, which can crush highlights, while Bokeh was defaulting to 3.0 for aesthetic reasons. Now they both default to sRGB (~2.2) gamma, which means these effects now operate correctly with respect to gamma. Over time I plan to extend this to other areas of Paint.NET, so stay tuned!

Here’s what the new Gamma options look like for Gaussian Blur and Bokeh:

image.png

Changing the Gamma dropdown to sRGB (2.2) or Linear (1.0) will automatically set the Gamma Exponent slider to 2.2 or 1.0, respectively. For Gaussian Blur, a gamma of Linear (1.0) is equivalent to previous versions of Paint.NET.

Changing the Gamma Exponent slider will automatically set the Gamma dropdown to Custom. However, if the Gamma Exponent lands on 1.00 or 2.20 exactly, the Gamma dropdown will be updated to be Linear or sRGB, respectively.

The relationship between the dropdown and the slider is implemented using the new SetTargetWhenSourceEqualsAnyValueRule. I can provide sample code if someone asks for it.

GPU effect plugins that wish to implement gamma-correct rendering (esp. important for blending and sampling) should apply an SrgbToLinearEffect on the input images, and then use the LinearToSrgbEffect as their output. You can also use GammaConvertEffect, which lets you choose between SrgbToLinear, LinearToSrgb, CustomExponent, and InverseCustomExponent (this is what Gaussian Blur and Bokeh use).

Changes

Here’s what’s been fixed or changed since the previous build (5.0 beta build 8401):

  • New: Gaussian Blur and Bokeh’s Gamma slider has been replaced with a Gamma dropdown, giving a choice between sRGB (2.2), Linear(1.0), and Custom, and a Gamma Exponent slider that goes along with it.
  • NOTE: If you have BoltBait’s GPU Accelerated Plugin Pack installed, you will need to update it to the newest version (same goes for the Sample Effect Plugins for Paint.NET 5.0)
  • Fixed some alpha channel handling in the Bokeh effect
  • Changed Gaussian Blur’s default Quality value from 3 to 4 for systems with capable GPUs
  • Removed Effects -> Blurs -> Unfocus, as its functionality is now superseded by Effects -> Blurs -> Bokeh (this is effectively a rename and an upgrade)
  • Added a new IndirectUI property collection rule, SetTargetWhenSourceEqualsAnyValueRule
  • Added a Direct2D GammaConvertEffect so that GPU plugins may more easily convert between sRGB, Linear, or other custom gamma exponents
  • Added a Direct2D PrecisionEffect to enable GPU effects to more easily narrow or expand precision within a transform graph
  • Updated the bundled AvifFileType plugin to version 1.1.22.0 (thanks @null54!)
  • Updated translations
Downloads

Download the installer here (for any supported CPU and OS). Offline installers, portable ZIPs, and deployable MSIs are available over on GitHub.

System Requirements
  • Windows 10 v1809+ or Windows 11
    • NOTE: Windows 8.1 and Windows 7 SP1 are no longer supported.
  • 64-bit CPU and 64-bit version of Windows
    • Both Intel/AMD x64 and ARM64 are natively supported.
    • NOTE: 32-bit x86 is no longer supported.
  • Optional:
    • A pen or drawing tablet that supports Windows Ink
  • Recommended:
    • A CPU that supports AVX2, which includes most CPUs released since 2013.
      • Note that AVX2 is not required, but it helps performance, especially at app startup.
    • A discrete GPU such as an NVIDIA GeForce, AMD Radeon, or Intel Arc
      • or an AMD Radeon APU (a type of integrated GPU)
      • or an Intel Iris Plus or Iris Xe integrated GPU
    • The GPU must support Direct3D 11. Otherwise the CPU will be used for rendering, which will have poor performance.
    • An Intel CPU with an Intel “HD” or “UHD” iGPU works fine but will probably not show much, if any, performance improvement over previous versions of Paint.NET (which used the CPU for most rendering). The default quality used across the app (e.g. in distortion effects, and the Move Selected Pixels tool) will be automatically lowered to compensate.

paint.net 5.0 beta (build 8395) is now available

First, check out the post for the first 5.0 alpha build to read about all the latest changes, additions, and fixes. There’s a lot!

We’re now at the beta stage for this release, which means 5.0 is feature complete, translations are complete, and all that’s left is to squash any outstanding bugs. If you find any bugs it is very important for you to report them! Do not assume that a bug has already been noticed or will be fixed.

This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

image.png

Changes

Here’s what’s been fixed or changed since the previous build (5.0 beta build 8389):

  • Fixed a crash in the Zoom tool when clicking outside of the image
  • Fixed a mouse cursor glitch when switching to many of the tools — the correct cursor would not be shown until the mouse/pen/stylus moved at least 1 pixel
  • Added a link in the Effects menu to Settings -> Plugin Errors if there are any plugin load errors
  • Improved the error/crash experience for effect plugin, particularly for ones that use the GPU
  • Updated translations
Downloads

Download the installer here (for any supported CPU and OS). Offline installers, portable ZIPs, and deployable MSIs are available over on GitHub.

System Requirements
  • Windows 10 v1809+ or Windows 11
    • NOTE: Windows 8.1 and Windows 7 SP1 are no longer supported.
  • 64-bit CPU and 64-bit version of Windows
    • Both Intel/AMD x64 and ARM64 are natively supported.
    • NOTE: 32-bit x86 is no longer supported.
  • Optional:
    • A pen or drawing tablet that supports Windows Ink
  • Recommended:
    • A CPU that supports AVX2, which includes most CPUs released since 2013.
      • Note that AVX2 is not required, but it helps performance, especially at app startup.
    • A discrete GPU such as an NVIDIA GeForce, AMD Radeon, or Intel Arc
      • or an AMD Radeon APU (a type of integrated GPU)
      • or an Intel Iris Plus or Iris Xe integrated GPU
    • The GPU must support Direct3D 11. Otherwise the CPU will be used for rendering, which will have poor performance.
    • An Intel CPU with an Intel “HD” or “UHD” iGPU works fine but will probably not show much, if any, performance improvement over previous versions of Paint.NET (which used the CPU for most rendering). The default quality used across the app (e.g. in distortion effects, and the Move Selected Pixels tool) will be automatically lowered to compensate.