资源简介
使用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
- 上一篇:传教士与野人问题Java实现
- 下一篇:android代理服务设置软件无需root
相关资源
- 传教士与野人问题Java实现
- java 根据文件名实现文件搜索
- 基于socket的用户注册,登录,文件上
- pc与手机蓝牙通信 java程序实现
- Java设计模式-类图大全(.chm)
- 能够处理括号的Java小计算器
- 1-10的代码
- 凯撒算法、playfair算法、hill算法的j
- JAVA 图片反色处理,放大或缩小
- java做的简易股票交易系统
- java社会实践报告
- 用java进行WPS的二次开发包
- java课程设计---学生信息管理系统 源代
- JS实现图片轮播效果(绝对可用
- 牛顿下山法、亚当姆斯法、最小二乘
- cas-client-java-2.1.1.zip
- java语言实现二叉树的各种操作
- java程序自动重新启动
- 数据库课程设计(JDBC+Swing)高校教材
- java实现简单的记事本程序内含源代码
- java在线客服聊天
- 《java技术开发大全》随书光盘源代码
- Java的输入输出流实现文件的复制
- java web实现文件的上传
- JAVAWEB批量文件器
- jaf-1_1_1.zip
- 使用java编写的简单的网络五子棋
- 《Java基础入门》_课后习题答案
- Java 汉诺塔_Hannoi GUI 可视化_图形用户
- 西安软件公司java笔试题
评论
共有 条评论