【问题标题】:Improving of java code - scale imagejava代码的改进——缩放图像
【发布时间】:2014-09-26 09:55:17
【问题描述】:

我对 Java 还是很陌生,并试图找到有关如何在框架中包含图片的信息。 有些图片尺寸合适,适合我的屏幕,但其他图片必须缩放才能适合我的屏幕。 到目前为止我得到了这个,有没有办法改进它并缩小图片?例如它现在的一半大小?我必须在代码中更改什么?

import java.awt.FlowLayout;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

class DisplayImage {

    public static void main(String avg[]) throws IOException
    {
     DisplayImage img =new DisplayImage();
    }

    public DisplayImage() throws IOException
    {
        BufferedImage img=ImageIO.read(new File("C://Address.jpg"));
        BufferedImage ret = new BufferedImage(32,32,BufferedImage.SCALE_FAST);
        ret.getGraphics().drawImage(img,0,0,32,32,null);

        ImageIcon icon=new ImageIcon(img);
        JFrame frame=new JFrame();
        frame.setLayout(new FlowLayout());
        frame.setSize(200,300);

        JLabel lbl=new JLabel();
        lbl.setIcon(icon);
        frame.add(lbl);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

【问题讨论】:

  • 不完全清楚问题是什么,但是new BufferedImage(32,32,BufferedImage.SCALE_FAST);错了:最后一个参数应该是图片的type,例如BufferedImage.TYPE_INT_ARGB

标签: java image frame scale


【解决方案1】:

您可以使用以下代码缩放图像:

image.getScaledInstance(-1, 25,
            java.awt.Image.SCALE_SMOOTH);

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多