图片缩放代码

来源:互联网 发布:淘宝美国直邮是真是假 编辑:程序博客网 时间:2024/05/24 01:41

图片缩放代码段1

import javax.imageio.ImageIO;import javax.swing.*;import javax.swing.plaf.synth.SynthStyle;import java.awt.geom.AffineTransform;import java.awt.image.AffineTransformOp;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.net.URL;public class ImageSwing {    private static void printf(Object obj) {        System.out.println("hai:::" + obj);    }    /**     * @param args     * @throws IOException     */    public static void main(String[] args) throws IOException {        URL resource = ImageSwing.class.getResource("./source/fm1.png");        printf(resource);        BufferedImage sourceImage = ImageIO.read(resource);        Integer wid = sourceImage.getWidth();        printf(wid);        if (wid % 2 == 1) {            BufferedImage dstImage = null;            AffineTransform transform = AffineTransform.getScaleInstance(0.5, 0.5);// 返回表示缩放变换的变换            printf(transform);            AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);            dstImage = op.filter(sourceImage, null);            /********** save到本地 *****************/            try {                ImageIO.write(dstImage, "png", new File("E:\\study\\PngPro\\out\\production\\PngPro\\source\\save\\go.png"));            } catch (IOException e) {                e.printStackTrace();            }        }        /********** save end *****************///        JTabbedPane tabbedPane = new JTabbedPane();//        tabbedPane.add("Source Transform", new JLabel(new ImageIcon(sourceImage)));//        tabbedPane.add("Affine Transform", new JLabel(new ImageIcon(dstImage)));////        JFrame jframe = new JFrame();//        jframe.setSize(800, 600);//        jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//        jframe.getContentPane().add(tabbedPane);//        jframe.setVisible(true);    }}


原创粉丝点击