Java学习日记:读取图片并在界面上显示,你可以试试

Java学习日记:读取图片并在界面上显示,你可以试试

引言:
已经学习了较多的界面知识,接下来我们将要进行图片处理,但是在此之前,我们需要了解图片读取。我们需要用到JFileChooserFileNameExtensionFilterjava.io.File

读取图片:

private String openFile() {
    	//创建对象
        JFileChooser chooser = new JFileChooser("E:\\study\\Pictures");//在此添加你默认的文件夹地址 
        //文件选择器添加过滤
        FileNameExtensionFilter filter = new FileNameExtensionFilter(
            "JPG & GIF Images", "jpg", "gif");//选择文件类型,我们主要需要的是图片,因此jpg、gif为我们的首选
        chooser.setFileFilter(filter);//显示(打开文件)的选择器
        
        int returnVal = chooser.showOpenDialog(null);
        //判断返回值
        if(returnVal == JFileChooser.APPROVE_OPTION) {
             //获取选中的文件
        	File file = chooser.getSelectedFile();
        	//返回文件的绝对路径
        	return file.getAbsolutePath();
        }else {
        	//没有选取文件
        	return "";
        }
    }

获取图片RGB信息:

private int[][]  image2data(String imageName){ //imageName可以为图片路径,
                                            // 我们用文件选择器得到路径,传入这里
	    java.io.File  file=new File(imageName); 
	    java.awt.image.BufferedImage bi=null;
	    //添加异常处理
	    try{
	    bi=javax.imageio.ImageIO.read(file);
	    }catch(Exception ef){
	    	ef.printStackTrace();
	    	};
	    	//再来用:根据这个图片的宽和高,创建二维数组
	    	int[][] data=new int[bi.getWidth()][bi.getHeight()];
	    	//将图片中的数据,存到二维数组,对应位置
	    	for(int i=0;i<bi.getWidth();i++){
	    		for(int j=0;j<bi.getHeight();j++){
	    			int t=bi.getRGB(i, j);//取图片对应位置的color值
	    			data[i][j]=t;//存入数组 
	    		}  
	    	} 
    	return data;
    }

至此,我们获得了图片的RGB信息,接下来就可以利用这些信息将图片在JFrame界面上绘制出来。结合
Java学习日记:UI篇(8)–生成一个带菜单的界面我们可以做出一个简单的界面,在上面展示我们的图片。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值