0

Image View Program を作成しようとしましたが、Java Image のズームインとズームアウトに問題があります :D

JPanel を作成し、BufferedImage を使用してコンピューターに画像を表示します。ボタンをクリックすると、 zoom になります。しかし、ここでの問題は、JPanel でメソッド paintComponent() をオーバーロードして、必要に応じて画像を表示することです。Google で検索した後、Graphic2D を使用してこの問題に対処する必要があると思います。この投稿、ラインに従ってください

Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, newImageWidth , newImageHeight , null);

オーバーロードされたメソッド paintComponent() に入れる必要があります。しかし、私の場合、ボタンをクリックした後に画像をズームしたいので、ズームを行うために paintComponent() にアクセスするにはどうすればよいですか??

public class MiddlePanel extends JPanel {
private BufferedImage img;
private JButton jbtZoom = new JButton("Zoom");

public MiddlePanel(int width){            

    img = ImageIO.read(new FileInputStream(new File("C:\\Picture\\pic1.jpg")));

    this.setPreferredSize(new Dimension(800,460));        
}

public void paintComponent(Graphics g) {
    g.drawImage(img......);
}

public void addComponentActionListener(){
    jbtZoom.addActionListener(new ActionListener{
        public void actionPerformed(){
            //What should I do in here to zoom the image....
        }
    });
}

お手伝いありがとうございます!

4

1 に答える 1