Solved

Graphics::drawImage() quality

Posted on 2007-11-29
11
561 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
This video teaches viewers about errors in exception handling.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

747 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