Details
Description
See
JAL-1857
JAL-3134
JAL-3137
JAL-3492
JAL-3546 (related)
JAL-3767
The problem lies with the Swing scaling of window decoration, widgets, fonts and bitmap graphics when a HiDPI display is detected.
Whilst this is fine for the first three, which are vector based, the bitmap graphics are just scaled up so appear to be a lower resolution (because they are).
The graphics layer should detect when scaling has been applied (see property "sun.java2d.uiScale" or perhaps
Graphics2D g = ...;
double scaling = g.getTransform().getScaleX();
The resolution of the graphics layer can then be multipled by scaling and actual scaling of this layer set to 1 using, e.g.
Graphics2D g = (Graphics2D) graphics;
AffineTransform t = g.getTransform();
double scaling = t.getScaleX(); // Assuming square pixels :P
t.setToScale(1, 1);
g.setTransform(t);
found from https://stackoverflow.com/questions/43057457/jdk-9-high-dpi-disable-for-specific-panel
Keep fingers crossed...
Attachments
Issue Links
- blocks
-
JAL-3134 Fuzzy fonts
- Open
-
JAL-3492 Pixelated font rendering in Java 11 in Windows
- Open
-
JAL-3767 Text of Sequences is Bitmap-garbled
- Open
-
JAL-1857 alignment rendering for ultra-high resolution displays
- Open
-
JAL-3137 Support HiDPI scaling for hi-resolution displays
- Open
- is duplicated by
-
JAL-4250 Secondary Structure annotation is clunkily pixellated on HiDPI screens
- Closed
- related with
-
JAL-3036 Fix image HTML5 Canvas scaling for hi-res screens
- Open
-
JAL-3546 Residue under cursor in cursor mode does not use user-set font
- Open
-
JAL-3974 HiDPI support in Windows
- In Progress