Paint.NET v3.5.9 Beta (build 4278) is now available

This is a minor update to Paint.NET v3.5. It has some bug fixes, and also adds back in the Korean translation (thanks to Bing translator).

As usual, you can download it directly from the website or you can use the built-in updater. Make sure that you enable “Also check for pre-release (beta) versions”, which you can do by going to Utility –> Check for Updates, and then clicking on the Options button.

Here’s the changes from v3.5.8:

  • Improved: The "Auto-detect" bit-depth setting for PNG, BMP, and TGA now also determines which bit-depth to use based on which one produces the smallest file size, as well as which ones can save the image without losing fidelity.
  • Improved: You can now use Ctrl+0 as a shortcut key for View -> Actual Size, in addition to Ctrl+Shift+A and Ctrl+Alt+0.
  • Fixed: Some text in the DirectDraw Surface (DDS) Save Configuration UI was not being loaded.
  • Fixed: Some DirectDraw Surface (DDS) files authored with other software (e.g. Unreal 2004) could not be loaded.
  • Fixed: In some rare circumstances, clicking on the Save button in the toolbar would crash.
  • Fixed: The Korean translation has been added back in, with the help of Bing machine translation to cover the few remaining strings that were untranslated.

As for 4.0, progress has been slow the last few months because I’ve been rather busy at work. I work at Microsoft in Windows on a little project called Windows Performance Analyzer (formerly known as “xperf” in some circles). The new version has a completely new UI written using WPF. Our PM, Michael Milirud, presented this at BUILD last week: . I highly recommend checking it out, although I’m biased of course Smile

One of the features I’m planning for 4.0 is tentatively titled “Shapes.” Right now you can only draw rectangles, ellipses, lines, and (admittedly lame) freeform polygons. Even MSPaint in Win7 has a larger shapes library. The idea I’ve got is to ship with a much larger list of built-in shapes, but also to allow users to install new shapes (from the forum, or their own imagination, or from wherever). The idea is to use XAML as the serialization format, and to make it compatible with WPF’s Drawings and Geometry objects. This way you can use any existing XAML editor to create the shape. (And this also means I don’t have to write an authoring tool!)

I already have the data format working – I have my own Geometry classes that wrap Direct2D, and was able to get them to roundtrip using XamlServices from System.Xaml.dll (I was quite amazed really – it worked the first time!). Since WPF and Direct2D use the same object model for their Geometry classes, it should be no trouble to auto-convert from WPF XAML files, thus eliminating the need for little annoying conversion utilities. So a XAML shape could use either the Paint.NET Geometry classes, or WPF’s. Probably sitting in a ResourceDictionary. Now, Geometry objects only describe shape outlines, with no fill or stroke parameters. The next thing is to add “Drawing” support. Each element of a Drawing contains a Geometry*, but also includes details about stroke color, stroke thickness, and a fill brush. Imaging you have a vector version of a company logo, with specific brush stroke and fill colors. You could plug that into Paint.NET and use it to draw. And yes, you’d be able to use solid colors as well as gradient brushes.

* In WPF, a Drawing can also contain other elements such as bitmaps or text or whatever.