概述
package frame; import java.awt.Image; import java.io.IOException; import javax.imageio.ImageIO; public class ImageUtil { public Image getImage(String imageUrl){ Image image = null; try { //会将图片加载在内存中 image = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("image/"+imageUrl)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return image; } }
package frame; import java.awt.Graphics; import java.awt.Image; public class Hero { private ImageUtil iu = new ImageUtil();//加载图片的工具 private Image heroImage; public Hero(){ heroImage = iu.getImage("role1.gif"); } public void draw(Graphics g){ //g.drawImage(heroImage, 0, 0, 32, 32, 200, 200, 232, 232, this); //在屏幕上的左上角的X,Y和 屏幕上的右下角X,Y,之间, //图片的左上角X,Y,图片上右下角 g.drawImage(heroImage, 200, 200, 232, 232,0,0,32,32, null); } }
package frame; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import javax.swing.JPanel; public class GamePanel extends JPanel { /** * */ private static final long serialVersionUID = 6792476564904637059L; private Image backImage; //背景图片 private ImageUtil iu = new ImageUtil();//加载图片的工具 private Hero hero = new Hero(); //private Image heroImage; public GamePanel(){ backImage = iu.getImage("back1.jpg"); //初始化背景图片 //heroImage = iu.getImage("role1.gif"); //英雄的图片 } @Override public void paint(Graphics g){ System.out.println("aaa"); g.drawImage(backImage, 0, 0, Color.BLACK, this); //画英雄,测试图片的截取 hero.draw(g);//根椐面向对对象的思想,英雄的画法应该在英雄类中完成,不在纸上完成 } }
转载于:https://www.cnblogs.com/zousheng7018/archive/2012/10/19/2730605.html
最后
以上就是阳光电话为你收集整理的将图片加载在内存中的全部内容,希望文章能够帮你解决将图片加载在内存中所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复