Java调整图像大小 [英] Java resize an image

查看:110
本文介绍了Java调整图像大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Jframe的某个区域中显示图像,但是该图像会占用很多空间.

I would like to display an image in an area in my Jframe but the image takes up much space.

我想将其尺寸公道精确. 如何在Java中做到这一点

I would like to take it fair precise dimensions. How can I do this in Java

这是我的简单代码:

如果我没有使用正确的方法或正确的类来实例化图像,那么我可以接受任何建议.

I am open to any proposal if I did not use the right method or the right class to instantiate the image.

import java.awt.*;
import javax.swing.*;

public class ExempleDeplace extends JFrame{

    private JLabel myLabel;

    public ExempleDeplace(){
         setLayout(new FlowLayout());
         setTitle("Fenetre, modele Duchi");
         setSize(500,700);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         JLabel j = new JLabel(new ImageIcon("src/images/bateau.png"));
         add(j);
         setVisible(true);
    }

    public static void main (String[] args) {    
          ExempleDeplace c = new ExempleDeplace();
    }
}

推荐答案

您可以将JPanel中的图像绘制为整个面板.然后,每当调整面板大小时,图像都会随之调整大小.这是一个可快速运行的演示:

You can paint the image in a JPanel as the whole panel. Then whenever the panel is resized, the image will be resized along with it. Here's a quick-n-dirty runnable demo:

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

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImgFrame extends JFrame {

    private static BufferedImage IMG;
    static{
        try {
            IMG = ImageIO.read(new File("img/Original_Doge_meme.jpg")); //Replace with your image path
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public ImgFrame(){
        add(new ImgPanel(), BorderLayout.CENTER);
        setSize(500,700);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    class ImgPanel extends JPanel{
        @Override
        public void paintComponent(Graphics g){
            super.paintComponent(g);
            g.drawImage(IMG, 0, 0, getWidth(), getHeight(), this);
        }
    }

    public static void main(String[] args){
        new ImgFrame();
    }
}

这篇关于Java调整图像大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆