paint.net 4.2 beta build 7116 is now available

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.

image.png

You can also download it directly by heading over to the forum.

Changes since 4.2 beta build 7111:

  • New: Saving in HEIC format is now supported. Windows 10 v1809+ is required, along with installation of HEVC Video Extensions from Device Manufacturer (free) from the Microsoft Store.
  • Improved: If you try to open or save an HEIC and you do not have the Microsoft codec installed, the error message will provide you a link to go get it. (The link is in the "Show Details" section)
  • Fixed: Pasting from some sources (e.g. Google Chrome) should no longer be shifted to the right by 3 pixels, nor have 3 colored pixels at the bottom left, and should also have working alpha/transparency again. This appears to be a bug in Windows 10 v1903 when both CF_DIB and CF_DIBV5 are on the clipboard and in that order (in other words, CF_DIB is higher priority than CF_DIBV5).
  • Fixed: The LowColor File Type plugin should work again. It still has a bug where it may show its own error dialog while you are modifying the properties for saving. This dialog can be ignored and dismissed.

paint.net 4.2 beta build 7111 is now available

No, you didn’t miss the 4.1.7 release, I’ve just decided to call this the 4.2 release Enough has change that I think it’s warranted! Since this is a beta, translations have now been updated.

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.

You can also head over to the forum for a direct download link.

Here are all the changes since 4.1.6, with highlights to indicate what’s new since 4.1.7 alpha 7107:

  • New: Support for loading HEIF/HEIC images (Windows 10 v1809+ required). Saving is not yet supported.
  • New: Keyboard shortcuts for changing the current layer. You can see these in the Layers menu with the "Go to …" commands. Alt+PgUp/PgDown will go to the layer above/below, and Ctrl+Alt+PgUp/PgDown will go to the top/bottom layer.

  • New: PNGs can now be saved as "interlaced"

  • New: Plugins that use IndirectUI can now use a UriProperty with a LinkLabel control (thanks @null54!)

  • New: Effect plugins can now more easily make use of the clipboard via the IClipboardService. It will handle all of the tricky clipboard issues such as threading, native data marshaling, and avoiding security vulnerabilities that exist in the standard WinForms and WPF clipboard APIs.

  • New: FileType plugins can now specify separate lists of extensions for loading and saving

  • Changed: Image->Resize supports Super Sampling again, and favors this over Fant when using Best Quality. Fant is still available, but is no longer chosen automatically.

  • Changed: Holding Ctrl when starting to move a selection with the Move Selected Pixels tool will no longer leave behind a copy of the selected area

  • Improved: When using Edit->Copy, a 32-bit BGRA bitmap in the DIBV5 format is now placed onto the clipboard so that other apps can read the alpha channel.

  • Improved: When using Edit->Paste, DIBV5’s are now supported if they have an alpha channel. If they don’t, then the regular DIB loader is used which has some heuristics for detecting an incorrectly defined alpha channel and correcting for it.

  • Improved: When using Edit->Paste, PNG is now the highest priority format. This maximizes the ability to maintain alpha/transparency, but it does mean that images coming from Microsoft Office apps will appear larger than they used to. This is either a bug or a feature of Microsoft Office. For some reason it places PNGs on the clipboard that are 25%+ larger than the DIB/DIBV5 bitmap that it also places on the clipboard (but which don’t have alpha/transparency).

  • Improved: BMP now supports saving in 32-bit (with alpha!) and 8-bit indexed.

  • Improved: PNG and JPEG now supports loading and saving of much larger images.
  • Improved: JPEG now has configuration for subsampling mode (4:4:4, 4:2:2, and 4:2:0). The default is now 4:2:2 instead of the (unconfigurable) 4:2:0 of older versions.
  • Improved: TIFF now supports saving at 24- and 8-bit color depths.
  • Improved: TGA images now load about 4x faster (thanks @null54!)
  • Improved: Added error reporting to the Save Configuration dialog. Instead of just saying "Preview: (error)", you’ll also get the standard error dialog that includes the exception which can used for troubleshooting.

  • Improved CPU usage for thumbnail updates (layers and image tabs) in many cases.
  • Improved performance of saving for file types where "Auto" bit-depth is supported but not the current choice.
  • Improved temporary memory usage when saving images at 8-bit color depth.
  • Improved: Slightly increased the size of the Settings dialog to reduce the need for scrolling in a few important situations
  • Fixed: AltGr should now work correctly with the Text tool. It will not trigger shortcuts like File -> Save All, or Edit -> Paste into New Image. (thanks @Bruce Bowyer-Smyth for the fix!)
  • Fixed: Mouse cursors now scale appropriately for non-integer UI scales (e.g. 125% or 175%)
  • Fixed a number of performance issues in the Save Configuration dialog. Especially with large images, it should now be much faster to change options and to click OK/Cancel.
  • Fixed flickering in Save Configuration dialog when changing options.
  • Fixed: Optimized rendering engine to remove huge lag spikes (30+ seconds) when zooming or panning very large images (e.g. 32K x 32K pixels). 
  • Fixed: 8-bit TGA images should now load correctly (thanks @null54 for the fix!)

  • Fixed: Some 32-bit TGA images were showing up as completely transparent due to their use of an obscure alpha channel type (thanks @null54 for the fix!)

  • Fixed: Simple message boxes can now be closed with the ESC key

  • Fixed: Some TIFFs could not be resaved as a JPEG due to having too much metadata (usually from Adobe Photoshop). The metadata is now discarded if necessary.

  • Fixed: Magic Wand now works on very large images (e.g. 65535 x 65535 pixels) without an error.

  • Fixed: DIBV5 bitmaps should now work with Edit->Paste, which improves alpha channel handling. (thanks @null54 for the fix!)
  • Fixed: Top-down DIBs should now work correctly with Edit->Paste. (thanks @null54 for the fix!)
  • Blocked the WebP FileType v1.1.0.0 plugin due to instability. An update is already available.

  • Blocked the ImAgif FileType v0.12.0.1084 plugin due to incompatibility. An update will hopefully soon be available.

paint.net 4.1.7 alpha (build 7107) is now available

Okay so hopefully this is the last alpha build before I’m able to get a beta out the door (incl. updated translations). Just fixing up a few things that were important enough to fix quickly instead of waiting for the beta.

Head on over to the forum to download it.

NoteGive me a few minutes and this will also be available via the built-in updater.

Changes since build 7104:

  • Improved: TGA images now load about 4x faster (thanks @null54!)
  • Fixed: Clipboard extension methods now available for plugins to use
  • Fixed a crash at startup when loading some FileType plugins
  • Improved: Slightly increased the size of the Settings dialog to reduce the need for scrolling in a few important situations

paint.net 4.1.7 alpha (build 7104) is now available

This should be the final alpha release of 4.1.7. Next up I’ll be integrating translation updates, fixing any last issues, and releasing the final build.

A lot more work went in this build than I was expecting! I decided to take on the work of making sure effect plugins could have good access to the clipboard, which is otherwise a very buggy area to navigate. A lot of other bugs and things were sorted out as well.

To download, head on over to the forum where I’ve posted a direct download link.

Note: I’ll be adding this to the built-in updater shortly. For now, please use the download link at the forum.

Changes since build 7079:

  • New: Keyboard shortcuts for changing the current layer. You can see these in the Layers menu with the "Go to …" commands. Alt+PgUp/PgDown will go to the layer above/below, and Ctrl+Alt+PgUp/PgDown will go to the top/bottom layer.
  • New: PNGs can now be saved as "interlaced"
  • New: Plugins that use IndirectUI can now use a UriProperty with a LinkLabel control (thanks @null54!)
  • New: Effect plugins can now more easily make use of the clipboard via the IClipboardService. It will handle all of the tricky clipboard issues such as threading, native data marshaling, and avoiding security vulnerabilities that exist in the standard WinForms and WPF clipboard APIs.
  • Improved: When using Edit->Copy, a 32-bit BGRA bitmap in the DIBV5 format is now placed onto the clipboard so that other apps can read the alpha channel.
  • Improved: When using Edit->Paste, DIBV5’s are now supported if they have an alpha channel. If they don’t, then the regular DIB loader is used which has some heuristics for detecting an incorrectly defined alpha channel and correcting for it.
  • Improved: When using Edit->Paste, PNG is now the highest priority format. This maximizes the ability to maintain alpha/transparency, but it does mean that images coming from Microsoft Office apps will appear larger than they used to. This is either a bug or a feature of Microsoft Office. For some reason it places PNGs on the clipboard that are 25%+ larger than the DIB/DIBV5 bitmap that it also places on the clipboard (but which don’t have alpha/transparency).
  • Fixed: 8-bit TGA images should now load correctly (thanks @null54 for the fix!)
  • Fixed: Some 32-bit TGA images were showing up as completely transparent due to their use of an obscure alpha channel type (thanks @null54 for the fix!)
  • Fixed: Simple message boxes can now be closed with the ESC key
  • Fixed: Some TIFFs could not be resaved as a JPEG due to having too much metadata (usually from Adobe Photoshop). The metadata is now discarded if necessary.
  • Changed: Blocked the WebP FileType v1.1.0.0 plugin due to instability. An update is already available.
  • Changed: Blocked the ImAgif FileType v0.12.0.1084 plugin due to incompatibility. An update will hopefully soon be available.

Enjoy!

paint.net 4.1.7 alpha build 7079 is now available

I believe I’ve fixed the issues that were preventing some images from being saved (as reported earlier). I also fixed a few things in the Save Configuration dialog that were supposed to make it into alpha build 7077, but didn’t because I incorrectly merged my pull request on GitHub.

The issue with the images that wouldn’t save was that they had UserComment metadata in them (EXIF tag ID #37510). WIC (Windows Imaging Component) handles this in a way that my code wasn’t coping with, so the data didn’t round-trip correctly, and WIC decided to refuse the transaction instead. (And there was another bug: part of my wrapper was returning an error when WIC tried to send an IStream::Write() call with a 0 byte payload … weird, probably a bug in their code, but shouldn’t have broken down on my side.)

To download, head on over to the forum. I’m currently adding this to the auto-updater as well, so in a few minutes you should be able to open up the app and head over to Settings (gear icon at top right of main window) –> Updates, and click on the “Check Now” button (but make sure “Also check for pre-release (beta) versions of paint.net” is enabled!). For Microsoft Store users, you’ll need to install the Classic version to try this build out (I don’t yet have alpha/beta builds working for the Store). It can be installed side-by-side with the Store version and uninstalled when you’re done with it without affecting the Store copy.

Change log:

  • Fixed: Some images could not be saved as JPEG due to mishandling of some metadata
  • Fixed some error handling in the Save Configuration dialog. An error dialog will now pop up to show the exception that occurred in addition to the usual "Preview: (error)" text that has always been shown.
  • Fixed: HEIC/HEIF file extensions are now registered with Windows so that you can double-click on them in Explorer to open them in Paint.NET

Enjoy! :)

paint.net 4.1.7 alpha build 7077 is now available

To download, head on over to the forum. I’m also in the process of adding this to the auto-updater.

This build has two big things going for it: 1) fixes to the Save Configuration dialog (sorta), and 2) some absolutely massive performance fixes to the main rendering engine when working with very large images.

Save Configuration dialog: Some folks have reported that they can’t get the Preview to work, even though saving and loading works fine. I don’t have a fix for this yet (AFAIK), but at least you’ll be able to see what the actual error is now so that you can send it to me. It will show up in the standard error dialog along with the almost useless "Preview: (error)" text that displays at the top.

Rendering engine: Before this update, Paint.NET has been very bad about handling very large images. I’m talking images that are on the order of 32,000 pixels large on either dimension (width or height). Zooming and panning often result in very long delays where the app just hangs until it figures itself out — and we’re talking 30, maybe even 60, seconds, even with a $1000 CPU like an overclocked Intel Core i9-7900X. I spent the last week optimizing this and replacing the data structures and work queue management code, and now this should all be working good. It’s not 60 FPS, so there’s still some work left when the time comes for it, but it’s very usable now! The worst delays might be on the order of 100-200ms, so they just feel like kind of a choppy framerate sometimes.

Changes since the previous alpha (build 7070):

  • Fixed: Optimized rendering engine to remove huge lag spikes (30+ seconds) when zooming or panning very large images (e.g. 32K x 32K pixels).
  • Improved: Added error reporting to the Save Configuration dialog. Instead of just saying "Preview: (error)", you’ll also get the standard error dialog that includes the exception which can used for troubleshooting.

Enjoy! Smile

paint.net 4.1.7 alpha build 7070 is now available

Finally, a new build! :)

Edit: The title of this blog post originally incorrectly said build 7068. I’ve fixed it to say 7070. Everything else was correct. (The URL still has 7068 in it, oh well :))

To download, head over to the forum. (I’m also in the process of adding this to the auto-updater.)

I’ve spent a lot of time migrating all of the internal file types from GDI+ to WIC. This was a huge amount of code, but is a necessary infrastructure change for the long-term. GDI+ doesn’t work correctly to load “large” images, for instance — where “large” is actually any image that takes over 4GB of memory per layer (may even be limited to 2GB). There are a lot of other benefits, as well, such as having access to configure JPEG’s subsampling when saving.

Affected file types are PNG, JPEG, GIF, BMP, TIFF, and the newly added support for HEIF/HEIC (loading only, no saving). If you want to know where to get sample *.HEIC images, look no further than your iPhone :) https://www.softwarert.com/transfer-photos-iphone-to-computer-heic-jpg/ Many Android phones should have support, too, but you’ll have to look it up for your particular make/model.

tl;dr for “what is HEIF: same quality as JPEG for half the file size. (IIRC) And a bunch of other stuff.

If you’re a fan of BMP, for some reason :), you’ll be happy to know you can now save and load with alpha (transparency). When I originally looked into this (like a decade ago?) I concluded it wasn’t possible, but several years later I now find out that WIC supports this natively. So, now it’s gladly supported

Note that due to a bug in WIC’s PNG decoder, file sizes over 4GB cannot be loaded. See my tweet for more info. In fact, PNGs larger than 2GB only work because I discovered a hacky workaround. Microsoft is currently looking into this and may have a fix soon (or like in Win10 v19H2 or something).

I’ve also done a bunch of refactoring and fixing to the Save Configuration dialog. It should be faster, more responsive, and use less memory. The flickering is now gone when you’re changing options. “More responsive” means that it should now start working on the newest option changes immediately instead of waiting for the previous computation to finish up (this is called “cancellation support” btw). This also allows the OK/Cancel buttons to avoid a long “Canceling…” or “Finishing…” dialog in most cases. This is a huge improvement when working with large images, or with file types that are computationally expensive to save (e.g. 8-bits with dithering, or TGA, or even just modestly large PNGs).

Developer / plugin enthusiast notes: Please note that the aforementioned cancellation support does require the FileType to either be 1) actively reading/writing with the Stream it’s given, and/or 2) actively reporting progress through its ProgressEventHandler. If the FileType does a whole bunch of calculations and then dumps out to disk, and never reports progress, then it’s still possible that changing options or clicking OK/Cancel will be sluggish or take awhile. The internal FileTypes should do a good job here, but plugins may or may not.

Changes since 4.1.6:

  • New: Support for loading HEIF/HEIC images (Windows 10 v1809+ required). Saving is not yet supported.
  • Improved: BMP now supports saving in 32-bit (with alpha!) and 8-bit indexed.
  • Improved: PNG and JPEG now supports loading and saving of much larger images.
  • Improved: JPEG now has configuration for subsampling mode (4:4:4, 4:2:2, and 4:2:0). The default is now 4:2:2 instead of the (unconfigurable) 4:2:0 of older versions.
  • Improved: TIFF now supports saving at 24- and 8-bit color depths.
  • Changed: Image->Resize supports Super Sampling again, and favors this over Fant when using Best Quality. Fant is still available, but is no longer chosen automatically.
  • Fixed: AltGr should now work correctly with the Text tool. It will not trigger shortcuts like File -> Save All, or Edit -> Paste into New Image. (thanks @Bruce Bowyer-Smyth for the fix!)
  • Fixed: Mouse cursors now scale appropriately for non-integer UI scales (e.g. 125% or 175%)
  • Fixed a number of performance issues in the Save Configuration dialog. Especially with large images, it should now be much faster to change options and to click OK/Cancel.
  • Fixed flickering in Save Configuration dialog when changing options.
  • Improved CPU usage for thumbnail updates (layers and image tabs) in many cases.
  • Improved performance of saving for file types where “Auto” bit-depth is supported but not the current choice.
  • Improved temporary memory usage when saving images at 8-bit color depth.
  • Fixed: Magic Wand now works on very large images (e.g. 65535 x 65535 pixels) without an error.
  • Fixed: DIBV5 bitmaps should now work with Edit->Paste, which improves alpha channel handling. (thanks @null54 for the fix!)
  • Fixed: Top-down DIBs should now work correctly with Edit->Paste. (thanks @null54 for the fix!)

Enjoy

paint.net 4.1.6 is now available!

This update focuses on refreshing the app’s theming with new high-res icons and improved support for high-DPI configurations. Some new menu commands have been added, such as File -> Save All, and a Turkish translation has been added.

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 updater soon by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

  • New: Completely redone high-res icons throughout the app which match the Microsoft Office style guidelines, with native support for up to 400% scaling (384 DPI)
  • New: File -> Save All (thanks @Bruce Bowyer-Smyth!)
  • New: Turkish language
  • New: Move Layer commands are now present in the Layers menu, not just on the Layers window
  • New: Layers -> Rotate 180 (thanks @null54!)
  • New: Plugins can now use the UIScaleFactor class, which simplifies making decisions about DPI and scaling
  • Improved: Image thumbnail list at the top of the main window now reacts to horizontal mouse wheel or trackpad swiping
  • Improved: The Text Tool’s "Font Size Metric" button now has a tooltip explaining it
  • Improved: When many images are open, Paint.NET now closes significantly faster (thanks @Bruce Bowyer-Smyth for the fix!)
  • Improved: File -> Open Recent now has up to 10 images (up from 8 )
  • Changed: Ctrl+Shift+F6 and +F7 will now also reset the floating window sizes for History and Layers, respectively (same if you Ctrl+Shift+Click on the button at the top-right of the main window)
  • Changed: (for plugins) EffectFlags.SingleRenderCall is deprecated. Plugins should use the new EffectRenderingSchedule.None option instead.
  • Changed: Settings -> Plugin Errors now shows up even if there are no plugin errors. This ensures consistency, especially with the newly asynchronous nature of plugin loading (otherwise there’s no way to distinguish "no errors" from "not done loading plugins").
  • Fixed: Items in the File -> Open Recent menu will no longer get bigger or smaller when moving between monitors with different DPIs
  • Fixed: An icon handle was being leaked every time a dialog was opened (thanks @null54 for the fix!)
  • Fixed a crash when running GPU effects (e.g. Black & White) on very large, very tall images
  • Fixed: "Bad" plugins can no longer ruin the undo system by rendering outside of the selection (thanks @BoltBait for helping out with this!)

Enjoy!

paint.net 4.1.6 beta build 7012 is now available

This should fix several issues that were reported in build 7010. Hopefully this is the last round of fixes needed for this release :)

This beta is available for the “Classic” (non-Store) release. You can use the built-in updater by going to ⚙ Settings → Updates → Check Now within the app (make sure “Also check for pre-release (beta) versions of paint.net” is checked!), or you can head over to the forum to get the direct download link.

Changes since beta build 7010:

  • Fixed the random crash when running most an effect with a selection (reported by lots of folks!)
  • Fixed the crash when changing the "Translucent Windows" setting if you have certain plugins installed (reported by @AndrewDavid)
  • Fixed the annoying tooltips in the statusbar (reported by @BoltBait) — I’ll get back to these after the migration to .NET Core 3 is completed, as this is a bug in WinForms. For now, tooltips are just disabled in the status bar, which is the same behavior as 4.1.5 and earlier.
  • Fixed the blank B/I/U/abc buttons when using the Blue theme (reported by @Rob.van.Grieken)