资源简介
通过读取bmp格式文件的数据格式,用数组合理的读取后,重新画出该图片
代码片段和文件信息
package BMP;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.MemoryImageSource;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class BMPReader{
public String Reader(){
Image image; //构造一个目标图
String result=““; //返回结果
try{
FileInputStream fs=new FileInputStream(“D:\\图片转换\\3.bmp“);
int bflen=14;
byte bf[]=new byte[bflen];
fs.read(bf0bflen); //读取14字节BMP文件头
int bilen=40;
byte bi[]=new byte[bilen];
fs.read(bi0bilen); //读取40字节BMP信息头
// 获取一些重要数据
int nwidth=(((int)bi[7]&0xff)<<24) //源图宽度
| (((int)bi[6]&0xff)<<16)
| (((int)bi[5]&0xff)<<8)
| (int)bi[4]&0xff;
System.out.println(“宽:“+nwidth);
int nheight=(((int)bi[11]&0xff)<<24) //源图高度
| (((int)bi[10]&0xff)<<16)
| (((int)bi[9]&0xff)<<8)
| (int)bi[8]&0xff;
System.out.println(“高:“+nheight);
//位数
int nbitcount=(((int)bi[15]&0xff)<<8) | (int)bi[14]&0xff;
System.out.println(“位数:“+nbitcount);
//源图大小
int nsizeimage=(((int)bi[23]&0xff)<<24)
| (((int)bi[22]&0xff)<<16)
| (((int)bi[21]&0xff)<<8)
| (int)bi[20]&0xff;
System.out.println(“源图大小:“+nsizeimage);
//对24位BMP进行解析
if(nbitcount==24){
int npad=(nsizeimage/nheight)-nwidth*3;
int ndata[]=new int[nheight*nwi
相关资源
- java酒店管理系统开题报告
- 单处理器进程调度模拟java实现
- 基于websocket的聊天室源码
- Java P2P聊天程序附带文档
- Java从入门到精通第4版光盘内容
- JavaSetup6u24
- java实现简单远程监控
- 图书管理系统java IO操作
- 基于Jpcap的网络数据抓包程序
- mysql-connector-java-3.1.7-bin.jar
- ImportExcelUtil.java文件支持所有Excel文件
- 实战JAVA高并发程序设计源代码汇总版
- 阿里java规范
- 学生信息管理系统-课程设计-Java,S
- java遗传算法智能组卷
- 应届毕业生的java简历模板
- 纯JAVA环境获取APK信息:包名版本版本号
- 宾馆客房管理系统JAVASwing+MySQL
- java-json.jar
- 基于二次误差度量的网格简化
- Java多线程实现生产者消费者
- Java记事本程序 Java程序设计入门,本
- mysql-connector-java-5.0.8-bin.jar
- 简单的java多人聊天小程序
- 数据库SQLserver+java课程设计
- java编写的FTP客户端程序
- java足球游戏
- java写的网络围棋程序
- Java Number Cruncher
- java项目视频连接.txt
评论
共有 条评论