Java GUI之图片框

  最近试着做一个音乐播放器,想添加一个固定大小的图片框用来放歌曲的专辑封面。搞了很久也没弄好图片缩放的问题。上网上查了很多方法,都不对,感觉有好些是根本没有测试过的就转载了。最后找到一个很简单的方法,一句代码就可以了。

1 Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT); //得到一个100X100的图像 
2 
3 Image doubledImage=sourceImage.getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT); //得到一个放大两倍的图像,这个程序一般在一个swing的组件中使用,而类Jcomponent实现了图像观察者接口ImageObserver,所有可以使用this。 

下面的是这个方法的API描述:

getScaledInstance

public ImagegetScaledInstance(int width,
                               int height,
                               int hints)
创建此图像的缩放版本。返回一个新的 Image 对象,默认情况下,该对象按指定的 widthheight 呈现图像。即使已经完全加载了初始源图像,新的 Image 对象也可以被异步加载。

如果 widthheight 为负数,则替换该值以维持初始图像尺寸的高宽比。如果 widthheight 都为负,则使用初始图像尺寸。

参数:
width - 将图像缩放到的宽度。
height - 将图像缩放到的高度。
hints - 指示用于图像重新取样的算法类型的标志。
返回:
图像的缩放版本。
抛出:
IllegalArgumentException - 如果 widthheight 为零。
从以下版本开始:
JDK1.1
另请参见:
SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH, SCALE_REPLICATE, SCALE_AREA_AVERAGING