【问题标题】:How to load an image to an object如何将图像加载到对象
【发布时间】:2016-10-23 07:05:38
【问题描述】:

我有一个对象类,在这个类中我有一个渲染方法。我想知道如何渲染图像。

我已经在网上搜索过,但一切都很模糊,我对编码很陌生,所以这就是我最终问的原因。

【问题讨论】:

  • 请包含更多上下文和/或代码。您使用的是 JFrame 还是其他东西? Here 是我之前写的一些代码,可能会给你一些提示。
  • 你能给我们指点你正在学习的教程吗?下次你最好问这个教程的“模棱两可的部分”而不是How to do X? i> 如果教程中的内容含糊不清,我们的答案肯定也会同样模棱两可;这对社区中的其他成员也没有好处,因为这是一个非常具体的问题,当你询问时总是尝试去通用,并在 cmets 中去具体。 欢迎来到社区@Karl(我建议你this reading)

标签: java image object rendering


【解决方案1】:

如果您使用的是 JFrame,请将此 JPanel 添加到您的框架中:

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.IOException;
import javax.swing.JPanel;

public class ImageView extends JPanel{
    private static final long serialVersionUID = 1L;

    private Image img;

    private int x = 0;
    private int y = 0;
    private int width = this.getWidth();
    private int height = this.getHeight();

    public ImageView(){
        super();

        try{
            img = ImageIO.read(new File("<img_path>.jpg"));
        }catch(IOException ex){
            // catch exception
        }
    }

    @Override
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;

        if(img!=null){
            g2d.drawImage(img, x, y, width, height, this);
        }
    }

    // your render method
    public void render(Image img){
        this.img = img;
        repaint();
    }

}

【讨论】:

    猜你喜欢
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    相关资源
    最近更新 更多