Java Reference
In-Depth Information
9.
10.
// Adjust the following path if necessary
11.
private static final String picturePath ="./its/TestData/orange.png";
12.
private MediaTracker mediTracker;
13.
private int imageID = 0;
14.
15.
public ImageScaleFrame() {
16.
this .setSize(800,600);
17.
ImagePanel ip = new ImagePanel();
18.
JScrollPane sp = new JScrollPane(ip);
19.
sp.setHorizontalScrollBarPolicy
(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
20.
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
21.
this .getContentPane().add(sp);
22.
mediTracker = new MediaTracker( this );
23.
24.
Image original = loadImageAndTrack(picturePath);
25.
ip.addImage(original);
26.
Image klein
= scaleImage(original,0.5);
27.
ip.addImage(klein);
28.
Image gross
= scaleImage(original,2.0);
29.
ip.addImage(gross);
30.
repaint();
31.
}
32.
33. private Image scaleImage(Image im, double factor){
34.
imageID++;
35.
int newWidth = ( int )(im.getWidth( this )*factor);
36.
int newHeight = ( int )(im.getWidth( this )*factor);
37.
38.
Image scaledIm =
im.getScaledInstance(newWidth,newHeight,Image.SCALE_FAST)
39.
40.
mediTracker.addImage(scaledIm,imageID);
41.
try {
42.
mediTracker.waitForID(imageID);
43.
}
44.
catch (Exception ex) {
45.
ex.printStackTrace();
46.
}
47.
return (scaledIm);
48. }
49.
50. private Image loadImageAndTrack(String filename)
51.
{
52.
Image im = Toolkit.getDefaultToolkit().getImage(filename);
53.
imageID++;
Search WWH ::




Custom Search