Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.help > #1467
| Path | csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Knute Johnson <nospam@knutejohnson.com> |
| Newsgroups | comp.lang.java.help |
| Subject | Re: Work around requested |
| Date | Wed, 21 Dec 2011 16:09:15 -0800 |
| Organization | A noiseless patient Spider |
| Lines | 154 |
| Message-ID | <jctsfd$sk5$1@dont-email.me> (permalink) |
| References | <b887a9d5-a48b-409a-aee1-b1c95397506c@y7g2000vbe.googlegroups.com> <17844998.127.1324178380897.JavaMail.geo-discussion-forums@pril5> <nospam-92C1F7.01364918122011@news.aioe.org> <a400090b-3fe9-4395-9435-75f0754bca78@h3g2000yqa.googlegroups.com> <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> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=ISO-8859-1; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Thu, 22 Dec 2011 00:09:17 +0000 (UTC) |
| Injection-Info | mx04.eternal-september.org; posting-host="mz/LDSJwiWnk3Jnnqg7x+Q"; logging-data="29317"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+czyQwYu0siZZISxyOMoos" |
| User-Agent | Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0 |
| In-Reply-To | <ffcfe0ff-2022-4a3b-bdca-a3437ff44dfa@y18g2000yqy.googlegroups.com> |
| Cancel-Lock | sha1:yZ4SqRgBUVXaraw89SkJPAxT1aY= |
| Xref | x330-a1.tempe.blueboxinc.net comp.lang.java.help:1467 |
Show key headers only | View raw
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