Java 加载图片

本文介绍了一种在Java中加载游戏图片的方法,并提供了一个实用的工具类GameUtil,该类封装了图片加载过程,简化了游戏开发中的图像处理工作。


想必很多新手也曾像我一样想编出一些好玩的东西来,但如果连图片加载都不会,那可打脸了.闲话少说,上代码


import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;

public class GameUtil {
    public static Image getImage(String path) {
        URL url = GameUtil.class.getClassLoader().getResource(path);
        BufferedImage image = null;
        try {
            image = ImageIO.read(url);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return image;

    }
}
</textarea>

这个是一个工具类,就是将我们平常加载图片时要经常的一个方法将它封装起来,以后要用的时候就直接拿来用,当然你也可以将它转换jar包,或者自己写一个,这都是可以的.
光有工具,没有实例就像看api文档,所以上代码

<textarea readonly="readonly" name="code" class="Java"> 
package Test;


import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JFrame;

public class GameTest {
    public static void main(String[] args) {
        new Test("开心");

    }

}
class Test extends JFrame{

    Image image=GameUtil.getImage("image/1.jpg");


    public Test(String title){
        super(title);
        init();
    }

    void init(){
        this.setSize(image.getHeight(null),image.getHeight(null));
        //image.getHeight(null)获取图片的大小
        this.setLocation(100, 100);
        this.setResizable(false);//锁定窗口大小
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public void paint(Graphics g) {//JFrame父类的paint()方法重写

        **g.drawImage(image,0, 0, image.getHeight(null), image.getHeight(null), this);**//调用g.drawImage()方法画出图片
        g.drawRect(100, 100, 100, 100);
        g.setColor(Color.CYAN);
        g.setFont(new Font("宋体",Font.BOLD , 50));//Fond.Bold常量
        g.drawString("哈哈哈", 100, 100);
    }
}
</textarea>

**

注意事项

**

  1. 在src下新建一个image的文件夹folder,将所用的照片放在里面就行了
  2. 使用这个工具类时只能用相对路径,不可用绝对路径
<textarea readonly="readonly" name="code" class="Java"> 
 URL url = GameUtil.class.getClassLoader().getResource(path);
 </textarea>

所用的URL是主类所在的位置

  1. 调用时一定要写清楚文件所在的位置比如我所用的相对地址是 image/1.jpg
Image image=GameUtil.getImage("image/1.jpg");

还有后缀名也要加上去
`

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值