Solved

Graphics::drawImage() quality

Posted on 2007-11-29
11
562 Views
Last Modified: 2008-02-01
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
0
Comment
Question by:DJ_AM_Juicebox
  • 5
  • 3
  • 3
11 Comments
 
LVL 92

Expert Comment

by:objects
ID: 20378072
0
 
LVL 92

Expert Comment

by:objects
ID: 20378077
0
 
LVL 92

Expert Comment

by:objects
ID: 20378088
0
 

Author Comment

by:DJ_AM_Juicebox
ID: 20378307
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
0
 
LVL 92

Expert Comment

by:objects
ID: 20378403
whats the error?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:DJ_AM_Juicebox
ID: 20378422
Exception getting thrown, says invalid argument for:

     hints.put()
0
 
LVL 92

Expert Comment

by:objects
ID: 20378489
0
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 20378541
(I assume that your m_ImageQuality definition should be:
Object m_ImageQuality = RenderingHints.VALUE_INTERPOLATION_BILINEAR;
?)
0
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 20378617
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 ;
0
 
LVL 25

Accepted Solution

by:
InteractiveMind earned 500 total points
ID: 20378624
(I think you'll need to use the key  KEY_RENDERING  rather than  KEY_INTERPOLATION)
0
 

Author Comment

by:DJ_AM_Juicebox
ID: 20379089
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!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Java Message handling in Service Layer 3 57
JDeveloper 12c for 32 bit 4 68
Apps blocked by Java 9 60
egit plugin on eclipse 8 33
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
The viewer will learn how to implement Singleton Design Pattern in Java.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now