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.