Link to home
Start Free TrialLog in
Avatar of DJ_AM_Juicebox
DJ_AM_Juicebox

asked on

Graphics::drawImage() quality

Hi,

When i use the drawImage() function of Graphics, the output quality isn't that great. In win32, you can set some flags for interpolation type of the output image to the device context. Is there any parallel in java? I'd like to do a nicer interpolation than nearest neighbor (looks like that's what's being used)

Thanks
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Avatar of DJ_AM_Juicebox
DJ_AM_Juicebox

ASKER

Yeah that seems to be what im looking for, but how could I store those values to use later - I want to do something like:

     Object m_ImageQuality = RenderingHints.VALUE_RENDER_BILINEAR;

     // Later on
     Graphics2D g2 = (Graphics2D)g;
     RenderingHints hints = g2.getRenderingHints();
     hints.put(RenderingHints.KEY_INTERPOLATION, m_ImageQuality);
     g2.setRenderingHints(hints);

but Im getting exceptions relating to m_ImageQuality - what type is that supposed to be?

Thanks
whats the error?
Exception getting thrown, says invalid argument for:

     hints.put()
(I assume that your m_ImageQuality definition should be:
Object m_ImageQuality = RenderingHints.VALUE_INTERPOLATION_BILINEAR;
?)
Your code works fine for me. I wonder if it's your runtime (there's no guarantee that all of the algorithms are implemented). Try this, and let us know if the exception persists:

Object m_ImageQuality = RenderingHints.VALUE_RENDER_DEFAULT ;
ASKER CERTIFIED SOLUTION
Avatar of InteractiveMind
InteractiveMind
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ah yeah im being dumb, VALUE_RENDER_DEFAULT  had nothing to do with the interpolation schemes. I guess nearest neigbor is the default.

I think BILINEAR and BICUBIC are the same in my implementation, though I haven't examind the pixels programmatically. I'm surprised how slow it is.

Thanks!