码迷,mamicode.com
首页 > 编程语言 > 详细

Java小游戏DanceWithStars(二):修改本地文档中的图片(图片宽高和图片类型)以及将图片设置为JButton的图像

时间:2018-11-12 11:14:43      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:string   height   exce   tst   eclipse   图像   efault   imageio   jframe   

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的图像

标签:string   height   exce   tst   eclipse   图像   efault   imageio   jframe   

原文地址:https://www.cnblogs.com/yizhaoAI/p/9944520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!