等比例缩放
获取图片 首先我们要获取图片吧,你可以使用ImageIO,Toolkit类,ImageIcon这个类这三种对于swing新手是很常见的。
第一种
Image A= ImageIO.read(new File("地址"));
第二种
new ImageIcon("路径").getImage();
第三种
Toolkit.getDefaultToolkit().getImage("路径");
推荐
我更加推荐ImageIO和Toolkit这种方式-而ImageIcon看情况
缩放
使用getScaledInstance这个API,它是在Image中的我们在获得这个对象时就会看见了。
Image在此之前几个缩放参数
缩放名字 | 缩放作用 |
---|---|
SCALE_DEFAULT | 使用默认的图像缩放算法 |
SCALE_FAST | 选择一种图像缩放算法,该算法对缩放速度的优先级高于缩放图像的平滑度 |
SCALE_SMOOTH | 选择一种图像缩放算法,该算法将图像平滑度置于比缩放速度更高的优先级。 |
SCALE_REPLICATE | 使用类中 ReplicateScaleFilter 体现的图像缩放算法。该 Image 对象可以自由替换执行相同算法但更有效地集成到工具包提供的成像基础结构中的不同过滤器。 |
SCALE_AREA_AVERAGING | 使用面积平均图像缩放算法。图像对象可以自由替换执行相同算法但更有效地集成到工具包提供的图像基础结构中的不同筛选器 |
演示
Image Data=Toolkit.getDefaultToolkit().getImage("路径");
Image Data2=A.getScaledInstance(宽度,高度,Image.SCALE_FAST(参数));
展示代码
import java.awt.*;
import javax.swing.*;
public class TestsText {
public static void main(String[] a){
ImageIcon a1=new ImageIcon("图像地址");
//图像地址
Image a2=a1.getImage();
//获取图像
Image a3=a2.getScaledInstance(100,100,Image.SCALE_FAST);
//设置图像
ImageIcon a4=new ImageIcon(a3);
//放置图像
JLabel a7=new JLabel();
//设置图像的加载标签
a7.setIcon(a4);
//加入图像
JFrame a5=new JFrame();
//设置窗口
a5.setBounds(500,100,500,500);
//设置窗口位置大小
a5.add(a7);
//放置标签
a5.setVisible(true);
//可见窗口
}
}