繁体   English   中英

调整图像大小以适合 JPanel

[英]image resize to fit on JPanel

我有将加载图像的 JPanel。

由于图像的宽度和高度与 JPanel 不同,我想让图像调整大小并适合 JPanel。

阅读本文, Image.getScaledInstance() 的危险

现在如果你仍然喜欢你可以使用类似的东西,

Image scaledImage = originalImage.getScaledInstance(jPanel.getWidth(),jPanel.getHeight(),Image.SCALE_SMOOTH);

在将图像加载到您的 JPanel 之前,这可能就像在这个答案中讨论的那样

我知道这已经很老了,但也许这对其他人有帮助

使用此类代替普通的 JLabel 并在使用 setIcon(#) 时传递一个 ImageIcon;

private class ImageLabel extends JLabel{
    private Image _myimage;

    public ImageLabel(String text){
        super(text);
    }

    public void setIcon(Icon icon) {
        super.setIcon(icon);
        if (icon instanceof ImageIcon)
        {
            _myimage = ((ImageIcon) icon).getImage();
        }
    }

    @Override
    public void paint(Graphics g){
        g.drawImage(_myimage, 0, 0, this.getWidth(), this.getHeight(), null);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM