Java小游戏DanceWithStars:修改本地文档中的图片(图片宽高和图片类型)以及将图片设置为JButton的图像
Posted yizhaoai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小游戏DanceWithStars:修改本地文档中的图片(图片宽高和图片类型)以及将图片设置为JButton的图像相关的知识,希望对你有一定的参考价值。
1. 修改本地文档中的图片(图片宽高和图片类型)
为了使下载的图片素材都具有统一的width和height,需要对下载来的图片重新处理并另存
主要思想是:构造一个BufferedImage对象,用ImageIO.read()读入,再用ImageIO.write()重画
代码如下:
1 package dws1; 2 3 import java.awt.image.BufferedImage; 4 import java.io.File; 5 import java.io.IOException; 6 import javax.imageio.ImageIO; 7 8 public class Pictures { 9 //找到存储路径 10 static String IMAGE_PATH = "C:\\Users\\Yi\\eclipse-workspace\\DWS\\src\\dws1"; 11 12 //构造一个BufferedImage对象 13 public static BufferedImage oldImg; 14 15 public static void main(String[] args) { 16 17 //读入图片 18 try { 19 oldImg = ImageIO.read(new File(IMAGE_PATH + "\\trophy.png")); 20 } catch (IOException e) { 21 // TODO Auto-generated catch block 22 e.printStackTrace(); 23 } 24 25 //新建一个newImg对象,width和height都是100 26 BufferedImage newImg= new BufferedImage(100, 100, BufferedImage.TYPE_INT_BGR); 27 28 29 //把原来的图片oldImg画入新图片newImg中 30 newImg.(oldImg, 0, 0, 100, 100, null); 31 32 33 //将新生成的图片自定义后缀名,且自定义路径,存入文档中 34 try { 35 ImageIO.write(newImg, "jpg", new File(IMAGE_PATH+ "\\trophyP.jpg")); 36 } catch (IOException e) { 37 // TODO Auto-generated catch block 38 e.printStackTrace(); 39 } 40 41 42 } 43 }
结果如下:
trophyP.jpg是trophy.png修改后的结果,从而与其他图标(如competitor1.jpg和competitor2.jpg)有一样的大小(100x100)和后缀名(.jpg),从而便于在JFrame上add。
2.将图片设置为JButton的图像
1 import javax.swing.Icon; 2 import javax.swing.ImageIcon; 3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5 6 public class c { 7 static String IMAGE_PATH = "C:\\Users\\Yi\\eclipse-workspace\\DWS\\src\\dws1"; 8 9 public static void main(String args[]) { 10 JFrame frame = new JFrame("DefaultButton"); 11 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 12 Icon warnIcon = new ImageIcon(IMAGE_PATH + "\\trophyP.jpg"); 13 JButton button2 = new JButton(warnIcon); 14 frame.add(button2); 15 frame.setVisible(true); 16 frame.pack(); 17 } 18 }
结果如下:
以上是关于Java小游戏DanceWithStars:修改本地文档中的图片(图片宽高和图片类型)以及将图片设置为JButton的图像的主要内容,如果未能解决你的问题,请参考以下文章