On 24.01.2014 17:23, Hendrik Schreiber wrote:
On Jan 24, 2014, at 13:39, Alexander Scherbatiy 
<alexandr.scherba...@oracle.com> wrote:

The API that allows to create custom images for HiDPI displays is only under 
discussion now.
It can be found in the thread: 
http://mail.openjdk.java.net/pipermail/awt-dev/2014-January/006775.html
It also contains a link to the patch that allows SunGraphics2D class to 
correctly draw multi-resolution images.

You can try to apply the patch to the JDK 9 and check that it works for your 
case.
Thanks, Alexandr.

I wasn't necessarily looking for special images that support HiDPI. I just 
wanted to be able to draw a standard component (e.g. a JButton) to a 
BufferedImage in a way that causes the component to be rendered *as if* the 
given BufferedImage supported high resolution.

Say the button is 16x16 pixels large in reg. DPI.
Then I'd love to render the thing to a 32x32 BufferedImage in HiDPI.
But other than rendering to the screen, there doesn't seem to be a way to 
convince the button that it should now render its HiDPI version.
You can draw the component to the VolatileImage. or you can create double size bufferedimage and set scale on its graphics to 2.

Thanks.

-hendrik


On 1/24/2014 12:05 PM, Hendrik Schreiber wrote:
Hey,

to animate a component, I usually draw it to a BufferedImage and then draw that 
image to the glass pane, where I can easily move it around without having to 
completely re-render the component all the time. Unfortunately, this technique 
does not work well on Retina/HiDPI displays, as I can't seem to be able to 
convince any components to render in high resolution to a BufferedImage.

Is there a way to paint components to BufferedImages in high resolution?
I'd like something like:

         final Image image = component.createImage(component.getWidth(), 
component.getHeight());
         component.paint(image.getGraphics());
         // then go on to use the image...

to work properly.

Thanks,

-hendrik


--
Best regards, Sergey.

Reply via email to