• 大小: 92KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Java
  • 标签: Java  

资源简介

使用Java swing 技术读取.raw格式的图片文件并显示

资源截图

代码片段和文件信息

/**
 * @ReadWriteRAW.java
 * @Version 1.0 2009.5.18
 * @Author Xie-Hua Sun
 * Read *.gif *.jpg *.jpeg *.png *.raw *.dat 
 * Save as *.RAW images
 */
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.*;
import java.io.*;     
  
public class ReadWriteRAW extends frame implements ActionListener
{
    private MenuItem openItem;
    private MenuItem saveItem;
    private MenuItem exitItem;
        
    Image image;
              
    int[] pixels;
    int width  = 256       // (Baboo.raw 512*512 256k)
        height = 256;
    
    boolean flag = false;   //装载图像标志
  
    //构造方法
    public ReadWriteRAW()
    {
       settitle(“图像载入与存储 保存为RAW文件“);
        this.setBackground(Color.lightGray);
        
        //关闭窗口
        addWindowListener(new WindowAdapter()
        {  
            public void windowClosing(WindowEvent e) 
            {  
                System.exit(0);
            }
        });       
        
        //菜单界面
        Menu fileMenu = new Menu(“文件“);
        openItem = new MenuItem(“打开“);
        openItem.addActionListener(this);
        fileMenu.add(openItem);

        saveItem = new MenuItem(“保存“);
        saveItem.addActionListener(this);
        fileMenu.add(saveItem);
        
        exitItem = new MenuItem(“退出“);
        exitItem.addActionListener(this);
        fileMenu.add(exitItem);
    
        MenuBar menuBar = new MenuBar();
        menuBar.add(fileMenu);
        setMenuBar(menuBar);
             
        setSize(266 320);
        setVisible(true);
    }
  
    //调用paint()方法,显示图像信息。
    public void paint(Graphics g)
    {    
       if(flag)
        g.drawImage(image550this);  
    } 
  
    public void actionPerformed(ActionEvent e)
    {       
       //打开JPG图像
       if(e.getSource() == openItem)
       {       
        MediaTracker mt = new MediaTracker(this);
       
        //文件选择对话框
            JFileChooser chooser = new JFileChooser();
            int r = chooseFile(chooser “.“);
            
            if(r == JFileChooser.APPROVE_OPTION) 
            {                 
                String name = chooser.getSelectedFile().getAbsolutePath(); 
                //取文件名长度  
                int len = name.length();
                //取文件名的扩展名
                String str = name.substring(len-3len);
                
                //若为RAW或DAT文件
                if(str.equalsIgnoreCase(“raw“)||str.equalsIgnoreCase(“dat“))
                {
                 JOptionPane.showMessageDialog(null“若RAW图像大小不是64k“+
                                       “需修改widthheight!“ “Alert“
                                          JOptionPane.INFORMATION_MESSAGE);
                 readRAW(name width height);
                }
                else
                {                
                image = openImage(name);
       }
        flag = true;  
           

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      65536  2006-05-19 15:35  readRaw\cat.raw

     文件      65536  1999-07-08 21:32  readRaw\Lena256.raw

     文件        476  2010-03-19 22:09  readRaw\ReadWriteRAW$1.class

     文件        846  2010-03-19 22:09  readRaw\ReadWriteRAW$2.class

     文件       4958  2010-03-19 22:09  readRaw\ReadWriteRAW.class

     文件       6369  2010-03-19 22:09  readRaw\ReadWriteRAW.java

     目录          0  2017-01-14 17:07  readRaw

----------- ---------  ---------- -----  ----

               143721                    7


评论

共有 条评论