You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Eirik Bakke <eb...@ultorg.com> on 2019/04/05 22:53:48 UTC

HiDPI/Retina improvements, confluence page

There has been recurring discussions about making NetBeans look better on HiDPI (retina) screens. This is a large umbrella issue, touching all three major operating systems (Windows, Linux, and MacOS), with many subtasks involved. I have created a Confluence page which summarizes the current state of HiDPI/Retina on NetBeans, and the high-level TODOs:

https://cwiki.apache.org/confluence/display/NETBEANS/HiDPI+%28Retina%29+improvements

The biggest unknown here is probably how to replace the old bitmap icons (several thousands, or at least hundreds) with scalable equivalents. But before that is done, SVG icons must be supported from the NetBeans Platform APIs (ImageUtilities, Node etc.).

-- Eirik


AW: HiDPI/Retina improvements, confluence page

Posted by Christian Lenz <ch...@gmx.net>.
Why trying to convert PNG to SVG? Why not using Icons that are there for years? Made out of SVG. Like font awesome or material Icons or whatever. We don’t need images converted to SVG. Either we need SVG support in NetBeans or we need to convert public SVG icons to PNG. IMHO


Cheers

Chris



Von: Tim Boudreau
Gesendet: Sonntag, 7. April 2019 09:39
An: dev@netbeans.incubator.apache.org
Betreff: Re: HiDPI/Retina improvements, confluence page

FWIW, I've played with *programmatic* conversion of icons to SVG. It is not
exactly practical (at least without, say, a bunch of deep learning stuff).
Basically the task is a variety of pattern recognition problems and
optimization problems - first recognizing WHAT to draw, and then how to do
that optimally (you can convert anything to SVG if it's a bunch of 1-pixel
rectangles :-)).

Recognizing lines is simple enough - combine generic edge detection with
walking the edge and analyzing the colors. Gradient detection for vertical
and horizontal and 45 degree linear gradients is pretty simple, and cyclic
gradients are a matter of making a difference matrix and seeing if there's
a fold column or row at which it cancels out.

It would probably be possible to write something that mows through all
images in the codebase and generates skeleton SVG based on what can be
detected for the entire icon set. Put that together with a little web app
showing the original, skeleton SVG w/ download, and a way to upload and
view contributed SVG icons and it would be pretty easy to crowdsource this
far and wide.

There is one Unix utility, potrace, which does decent but monochrome image
to SVG conversion - but just shapes with a threshold for black versus
white. I don't think it would be much use here.

-Tim


On Fri, Apr 5, 2019 at 6:54 PM Eirik Bakke <eb...@ultorg.com> wrote:

> There has been recurring discussions about making NetBeans look better on
> HiDPI (retina) screens. This is a large umbrella issue, touching all three
> major operating systems (Windows, Linux, and MacOS), with many subtasks
> involved. I have created a Confluence page which summarizes the current
> state of HiDPI/Retina on NetBeans, and the high-level TODOs:
>
>
> https://cwiki.apache.org/confluence/display/NETBEANS/HiDPI+%28Retina%29+improvements
>
> The biggest unknown here is probably how to replace the old bitmap icons
> (several thousands, or at least hundreds) with scalable equivalents. But
> before that is done, SVG icons must be supported from the NetBeans Platform
> APIs (ImageUtilities, Node etc.).
>
> -- Eirik
>
> --
http://timboudreau.com


Re: HiDPI/Retina improvements, confluence page

Posted by Tim Boudreau <ni...@gmail.com>.
FWIW, I've played with *programmatic* conversion of icons to SVG. It is not
exactly practical (at least without, say, a bunch of deep learning stuff).
Basically the task is a variety of pattern recognition problems and
optimization problems - first recognizing WHAT to draw, and then how to do
that optimally (you can convert anything to SVG if it's a bunch of 1-pixel
rectangles :-)).

Recognizing lines is simple enough - combine generic edge detection with
walking the edge and analyzing the colors. Gradient detection for vertical
and horizontal and 45 degree linear gradients is pretty simple, and cyclic
gradients are a matter of making a difference matrix and seeing if there's
a fold column or row at which it cancels out.

It would probably be possible to write something that mows through all
images in the codebase and generates skeleton SVG based on what can be
detected for the entire icon set. Put that together with a little web app
showing the original, skeleton SVG w/ download, and a way to upload and
view contributed SVG icons and it would be pretty easy to crowdsource this
far and wide.

There is one Unix utility, potrace, which does decent but monochrome image
to SVG conversion - but just shapes with a threshold for black versus
white. I don't think it would be much use here.

-Tim


On Fri, Apr 5, 2019 at 6:54 PM Eirik Bakke <eb...@ultorg.com> wrote:

> There has been recurring discussions about making NetBeans look better on
> HiDPI (retina) screens. This is a large umbrella issue, touching all three
> major operating systems (Windows, Linux, and MacOS), with many subtasks
> involved. I have created a Confluence page which summarizes the current
> state of HiDPI/Retina on NetBeans, and the high-level TODOs:
>
>
> https://cwiki.apache.org/confluence/display/NETBEANS/HiDPI+%28Retina%29+improvements
>
> The biggest unknown here is probably how to replace the old bitmap icons
> (several thousands, or at least hundreds) with scalable equivalents. But
> before that is done, SVG icons must be supported from the NetBeans Platform
> APIs (ImageUtilities, Node etc.).
>
> -- Eirik
>
> --
http://timboudreau.com

Re: HiDPI/Retina improvements, confluence page

Posted by Michal Hlavac <mi...@hlavki.eu>.
Hi Eirik,

thanks for summarization of HiDPI related issues. Besides of icons, there are issues with terminal window used in HiDPI (e.g. NETBEANS-819)
I did some research and disover some problems. Please let me know if you or somebody else would be interested in help to solve this issues.

thanks, m. 

On sobota 6. apríla 2019 0:53:48 CEST Eirik Bakke wrote:
> There has been recurring discussions about making NetBeans look better on HiDPI (retina) screens. This is a large umbrella issue, touching all three major operating systems (Windows, Linux, and MacOS), with many subtasks involved. I have created a Confluence page which summarizes the current state of HiDPI/Retina on NetBeans, and the high-level TODOs:
> 
> https://cwiki.apache.org/confluence/display/NETBEANS/HiDPI+%28Retina%29+improvements
> 
> The biggest unknown here is probably how to replace the old bitmap icons (several thousands, or at least hundreds) with scalable equivalents. But before that is done, SVG icons must be supported from the NetBeans Platform APIs (ImageUtilities, Node etc.).
> 
> -- Eirik
> 
>