Jump to content

paint.net 4.1.6 alpha build 7000 (new hi-DPI icons!)


Rick Brewster

Recommended Posts

Please note that this is an "alpha" simply because I still plan on adding more stuff for the 4.1.6 release (or whatever version # it ends up being called ... 🤪)

 

As I've discussed here (blog) and here (forum), I've been working on a new set of icons for the app along with full high-res /  high-DPI support. Things no longer look blurry on high resolution screens! This has been a 2 month project so far and I'm really glad to finally unveil it :)

 

All of the icons have been redone as vector art (SVG) and match the modern Microsoft Office style guidelines. They can now scale all the way from 100% (96 DPI) up to 400% (384 DPI) without looking too blurry. If you're at 125% (120 DPI) or 150% (144 DPI) then things may still be a little blurry, but it'll be loading the 200% images and scaling down instead of the 100% images and scaling up, so it'll still look a whole lot better than before.

 

There may still be some layout bugs if you're at >200% scaling, but they're not new bugs. I do plan on fixing them. Most prominent is a very obvious glitch in the Colors window.

 

The only remaining art asset that hasn't been vectorized is the actual application icon/logo. We'll see about that ...

 

Download to try it out: https://www.getpaint.net/files/zip/test/paint.net.4.106.7000.4729.install.zip

 

Change log since the 4.1.5 release:

  • New: Completely redone icons throughout the app to match the Microsoft Office style guidelines, with native support for up to 400% scaling (384 DPI)
  • New: File -> Save All (thanks @Bruce Bowyer-Smyth!)
  • 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)
  • Fixed: An icon handle was being leaked every time a dialog was opened (thanks @null54 for the fix!)
  • New: Turkish language
  • Like 2

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Some screenshots if you'd like a preview. Although if you want to see them all you'll have to install :) 

 

(click for full-resolution version if it looks blurry on your screen)

 

image.png

 

image.png

 

image.png

 

image.png

  • Like 5
  • Upvote 4

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

The new icons look great.

 

How does the DPI scaling affect the icons used by Effect plugins?

 

I assume that the plugin icons would remain 16x16 pixels and the built-in Effect and Adjustment icons would scale with the rest of Paint.NET, but I do not have a high DPI display to check.

Is there a supported method for plugin authors to detect the current DPI and provide an appropriately scaled icon?

  • Upvote 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

4 minutes ago, null54 said:

How does the DPI scaling affect the icons used by Effect plugins?

 

I assume that the plugin icons would remain 16x16 pixels and the built-in Effect and Adjustment icons would scale with the rest of Paint.NET, but I do not have a high DPI display to check.

Is there a supported method for plugin authors to detect the current DPI and provide an appropriately scaled icon?

 

 

Excellent question!

 

@Rick Brewster?

Link to comment
Share on other sites

Whatever image an effect supplies will be stretched to a 16x16 dip* area. There's nothing new to learn, just supply a larger image if you've got one!

 

* device independent pixel. 1 dip * scaling = pixels. So at 200% scaling, 16x16 dips will be 32x32 pixels.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

9 hours ago, Zagna said:

Installer license text is now back to Paint.NET instead of paint.net?

 

I"m currently reevaluating where "paint.net" vs. "Paint.NET" should be used.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

55 minutes ago, Rick Brewster said:

Whatever image an effect supplies will be stretched to a 16x16 dip* area. There's nothing new to learn, just supply a larger image if you've got one!

 

* device independent pixel. 1 dip * scaling = pixels. So at 200% scaling, 16x16 dips will be 32x32 pixels.

 

A quick google search reveals arguments about the correct way to read the scaling factor.

 

What do you recommend?

Link to comment
Share on other sites

12 hours ago, BoltBait said:

 

A quick google search reveals arguments about the correct way to read the scaling factor.

 

What do you recommend?

 

I should probably make it so plugins can use the UIScaleFactor class. It makes things pretty straightforward.

  • Upvote 2

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

On 3/3/2019 at 10:14 AM, Rick Brewster said:

 

I should probably make it so plugins can use the UIScaleFactor class. It makes things pretty straightforward.

 

In the next build you'll be able to use the UIScaleFactor class, which is now a public struct in the top-level PaintDotNet namespace within PaintDotNet.Core.dll. So, no new DLLs or namespaces to worry about.

 

Grab UIScaleFactor.Current and look at either the integer Dpi property or the double Scale property. You'll see values like 96, 120, 144, 192 for Dpi, or 1.0, 1.25, 1.5, 2.0 for Scale (respectively).

 

I may also add another method that makes it easier to pick the right resource to load. So you'd call the method with a list of what you've got and what scales they're for, and it would just tell you which one to use.

  • Upvote 2

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...