Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.help > #1467
| From | Knute Johnson <nospam@knutejohnson.com> |
|---|---|
| Newsgroups | comp.lang.java.help |
| Subject | Re: Work around requested |
| Date | 2011-12-21 16:09 -0800 |
| Organization | A noiseless patient Spider |
| Message-ID | <jctsfd$sk5$1@dont-email.me> (permalink) |
| References | (4 earlier) <4decc207-ebaa-4d1c-9952-b73f18817f08@k10g2000yqk.googlegroups.com> <nospam-51D024.20134520122011@news.aioe.org> <1ba91a9f-d3e9-45df-8986-2de9165aeb93@q9g2000yqe.googlegroups.com> <jcrod7$2oc$2@dont-email.me> <ffcfe0ff-2022-4a3b-bdca-a3437ff44dfa@y18g2000yqy.googlegroups.com> |
On 12/21/2011 1:58 PM, bH wrote:
>
> Hi Knute,
> I am in need of further help as to how and
> where to place what you wrote above.
> I have tried various locations within my work.
> Nothing seems to help to make the resulting
> thumbnail show any improvement.
> TIA
> bH
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import java.io.*;
import java.net.*;
import javax.imageio.*;
import javax.swing.*;
public class test extends JPanel implements ActionListener {
private final JFrame frame;
private final RenderingHints hints;
private BufferedImage image,thumb1,thumb2;
public test(JFrame frame) {
this.frame = frame;
hints = new RenderingHints(
RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
hints.add(new RenderingHints(
RenderingHints.KEY_ALPHA_INTERPOLATION,
RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY));
hints.add(new RenderingHints(
RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.VALUE_COLOR_RENDER_QUALITY));
try {
URL url =
new URL("http://rabbitbrush.frazmtn.com/saturn.jpg");
image = ImageIO.read(url);
setPreferredSize(
new Dimension(image.getWidth(),image.getHeight()));
thumb1 = scaleImage(image,.25,.25,
AffineTransformOp.TYPE_BICUBIC);
thumb2 = scaleImage(image,.25,.25,hints);
// if the image needs to have the colorspace converted
// image = convertToCompatible(image);
} catch (MalformedURLException murle) {
JOptionPane.showMessageDialog(this,murle);
} catch (IOException ioe) {
JOptionPane.showMessageDialog(this,ioe);
}
}
public void actionPerformed(ActionEvent ae) {
String ac = ae.getActionCommand();
if (ac.equals("url")) {
String input =
JOptionPane.showInputDialog(this,"Enter Image URL");
if (!input.equals("")) {
try {
URL url = new URL(input);
image = ImageIO.read(url);
setPreferredSize(
new Dimension(image.getWidth(),image.getHeight()));
thumb1 = scaleImage(image,.25,.25,
AffineTransformOp.TYPE_BICUBIC);
thumb2 = scaleImage(image,.25,.25,hints);
setPreferredSize(new Dimension(image.getWidth(),
image.getHeight()));
frame.pack();
repaint();
} catch (MalformedURLException murle) {
JOptionPane.showMessageDialog(this,murle);
} catch (IOException ioe) {
JOptionPane.showMessageDialog(this,ioe);
}
}
}
}
public void paintComponent(Graphics g) {
g.drawImage(image,0,0,null);
g.drawImage(thumb1,0,0,null);
g.drawImage(thumb2,getWidth()-thumb2.getWidth(),0,null);
}
public static BufferedImage scaleImage(BufferedImage src, double sx,
double sy, int interpolationType) {
AffineTransformOp op = new AffineTransformOp(
AffineTransform.getScaleInstance(sx,sy),interpolationType);
return op.filter(src,null);
}
public static BufferedImage scaleImage(BufferedImage src, double sx,
double sy, RenderingHints hints) {
AffineTransformOp op = new AffineTransformOp(
AffineTransform.getScaleInstance(sx,sy),hints);
return op.filter(src,null);
}
public static BufferedImage convertToCompatible(BufferedImage image) {
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gd.getDefaultConfiguration();
BufferedImage compatible =
gc.createCompatibleImage(image.getWidth(),
image.getHeight());
if (compatible.getType() == image.getType())
return image;
ColorConvertOp op = new ColorConvertOp(
image.getColorModel().getColorSpace(),
compatible.getColorModel().getColorSpace(),null);
return op.filter(image,compatible);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
test t = new test(f);
JMenuBar mb = new JMenuBar();
f.setJMenuBar(mb);
JMenu file = new JMenu("file");
mb.add(file);
JMenuItem url = new JMenuItem("url");
url.addActionListener(t);
file.add(url);
f.add(t);
f.pack();
f.setVisible(true);
}
});
}
}
--
Knute Johnson
Back to comp.lang.java.help | Previous | Next — Previous in thread | Next in thread | Find similar
Work around requested bH <bherbst65@hotmail.com> - 2011-12-17 19:03 -0800
Re: Work around requested Lew <lewbloch@gmail.com> - 2011-12-17 19:19 -0800
Re: Work around requested "John B. Matthews" <nospam@nospam.invalid> - 2011-12-18 01:36 -0500
Re: Work around requested Lew <lewbloch@gmail.com> - 2011-12-17 23:39 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-18 21:01 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-20 15:46 -0800
Re: Work around requested Knute Johnson <nospam@knutejohnson.com> - 2011-12-20 16:53 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-20 17:02 -0800
Re: Work around requested Knute Johnson <nospam@knutejohnson.com> - 2011-12-20 20:43 -0800
Re: Work around requested "John B. Matthews" <nospam@nospam.invalid> - 2011-12-20 20:13 -0500
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-20 17:33 -0800
Re: Work around requested Knute Johnson <nospam@knutejohnson.com> - 2011-12-20 20:47 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-21 13:58 -0800
Re: Work around requested Knute Johnson <nospam@knutejohnson.com> - 2011-12-21 16:09 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-21 18:58 -0800
Re: Work around requested Knute Johnson <nospam@knutejohnson.com> - 2011-12-21 19:09 -0800
Re: Work around requested bH <bherbst65@hotmail.com> - 2011-12-21 18:50 -0800
Re: Work around requested Roedy Green <see_website@mindprod.com.invalid> - 2011-12-18 12:51 -0800
Re: Work around requested Joerg Meier <joergmmeier@arcor.de> - 2011-12-24 02:18 +0100
csiph-web