Notepad3 icon indicating copy to clipboard operation
Notepad3 copied to clipboard

Epic: DPI Scaling issues

Open hpwamr opened this issue 5 years ago • 7 comments

Maybe, bitmap toolbars sizes 48x48 or/and 64x64 are needed? 🤔

hpwamr avatar Mar 09 '20 18:03 hpwamr

Related issues: #463 , #563, #910 , #923 , #1544 , (#1686), #2066, #2245, #2303, #2403, #3150.

Other keys:

  • Blurry Toolbar Buttons
  • Weird display of dialog

RaiKoHoff avatar Mar 09 '20 18:03 RaiKoHoff

Hello @RaiKoHoff , Just a reflection on the "Toolbars" scaling. 🤔

Is it possible to work with "Vector" icon (like VSCode) instead of those "Raster" icon (.bmp) ? 🤔 With Scalable Vector icon, only ONE set will be required for all output sizes 32x32, 48x48, 64x64, etc...

A svg (Scalable Vector Graphics) file is a vector image file format. A vector image uses geometric forms such as points, lines, curves and shapes (polygons) to represent different parts of the image as discrete objects. These forms can be individually edited. A vector image remains crisp and clear at any resolution or size.

If this is not possible, I think the best solution is to start with a big "Vector" icon or big "Raster" icon, (preferably for a ".png" format: 256x256 or 512x512) to save multiple copies of "Raster" icon in ".bmp" format 32x32, 48x48, 64x64, etc...

Bitmap_VS_SVG svg This image illustrates the difference between bitmap and vector images. The bitmap image is composed of a fixed set of pixels, while the vector image is composed of a fixed set of shapes. In the picture, scaling the bitmap reveals the pixels while scaling the vector image preserves the shapes.

hpwamr avatar Mar 12 '20 08:03 hpwamr

@hpwamr : Thank you for your "reflection". Using Vector Graphics has been the suggestion of another guy too. Unfortunately, Notepad3's good old Toolbar engine does not support Vector Graphics. The best we could do (still using this engine) is to switch from Bitmaps to single Icon-Files for each button. Icons (.ico) are collections of bitmaps in different dimensions (16x16, 32x32, 48x48, 64x64, 128x128, 256x256). If the DPI scaling fits to exactly on of these bitmaps, you will get sharp buttons, if it is somewhere in between, you will still have the scaling problem ... 🤔 (I am not thinking about changing the toolbar engine to modern ribbons.)

RaiKoHoff avatar Mar 13 '20 16:03 RaiKoHoff

@RaiKoHoff

Using Vector Graphics has been the suggestion of another guy too

You can use svg as source for generating raster images in different resolutions. One source - many bitmaps (except really low res like 16x16, but it is not a problem - you have one already).

if it is somewhere in between, you will still have the scaling problem ...

I believe, it's only true for upscaling image. My precise eagle eyes (haha) tell me current toolbar engine using simple nearest-neighbor interpolation (pixelated buttons) for dpi scale option. Downscaling is less problematic and produce good results in most cases. So, 48->38 transfrom is preferable to 32->38 - downscaling is almost over preferable to upscaling.

rend3r avatar Mar 20 '20 20:03 rend3r

You can try to find suitable images https://www.gnome-look.org/browse/cat/132/order/latest/ here. I think, most of iconsets are under clean license.

rend3r avatar Mar 20 '20 20:03 rend3r

https://www.pling.com/browse/cat/132/order/latest/

jeapp is a possibility, i have make also one : https://www.pling.com/p/1002417/ and https://www.pling.com/p/1002354/ if you support svgz

blackcrack avatar Mar 21 '20 09:03 blackcrack

Hello @RaiKoHoff , With the latest updates, the quality of the Rizonesoft.com logo has degraded? 🤔 In addition, the information on the version of Notepad3 has become more bigger?

2020-05-23_175436

hpwamr avatar May 23 '20 18:05 hpwamr