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