资源简介
通过读取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源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论