JAVA如何将byte数组转变为BMP

我已经有一个有BMP转变为的byte数组,现在要将byte数组重新转变为BMP图片,请问JAVA代码如何实现,非常急,望解答!!!
已经知道了:
//buffer为byte数组
BufferedImage img=ImageIO.read(new ByteArrayInputStream(buffer));

//我在程序中打印出了每一个坐标的RGB值,你自己整理整理,求个平均值,
//放到你的那个二维数组里。

//自己用画图工具做一个小图片,注意图片的名字和程序中一致哦~

import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];

File file = new File("a.bmp");
BufferedImage bi=null;
try{
bi = ImageIO.read(file);
}catch(Exception e){
e.printStackTrace();
}

int width=bi.getWidth();
int height=bi.getHeight();
int minx=bi.getMinX();
int miny=bi.getMinY();
System.out.println("width="+width+",height="+height+".");
System.out.println("minx="+minx+",miniy="+miny+".");

for(int i=minx;i<width;i++){
for(int j=miny;j<height;j++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000 ) >> 16 ;
rgb[1] = (pixel & 0xff00 ) >> 8 ;
rgb[2] = (pixel & 0xff );
System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");

}
}

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-26
file byte[] bytes = null;
.........................(bmp转byte)
FileOutputStream foStream = null;
File f = new File("c:\\Temp");
if(false == f.exists){
f.mkdir();
}
foStream = new FileOutputStream("C:\\Temp\\photo.bmp");
foStream.write(bytes);本回答被网友采纳
第2个回答  2011-06-26
用输出流输出就行啦

JAVA如何将byte数组转变为BMP
\/\/自己用画图工具做一个小图片,注意图片的名字和程序中一致哦~import java.awt.image.BufferedImage;import javax.imageio.ImageIO;import java.io.*;public class Test{ public static void main(String args[]) { int[] rgb = new int[3];File file = new File("a.bmp");BufferedImage bi...

如何将base64位的字节数组转换成图片并显示
不用保存成文件。写一个servlet(假设名字是servletImg),页面的参数就是 id,然后将从DB得到的图像的byte[],通过流输出给页面。页面还是 这样的逻辑,才行。

在C#中如何将byte[] 类型转换为图片类型
Bitmap bmp=new Bitmap((int)w,(int)h,PixelFormat.Format24bppRgb); BitmapData bd = bmp.LockBits(new Rectangle(0, 0, (int)w, (int)h), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb); byte* lp = (byte*)bd.Scan0; for (long j = 0; j < h; j++) { for (long i = 0;...

C#怎么把数组转换为不同类型的图片
1、把一张图片(png bmp jpeg bmp gif)转换为byte数组存放到数据库。千万要记住存放在数据库,不然图片很容易就会丢失。2、把从数据库读取的byte数组转换为Image对象,赋值给相应的控件显示。相应的控件显示要看你的具体的操作和具体的图片。3、从图片byte数组得到对应图片的格式,生成一张图片保存到磁...

求二维数组转为BMP的C程序
(1)你需要搞清楚BMP的文件格的头部,以及BMP数据文件的存储方式 (2)然后先写构造BMP文件头部结构体(互联网上很多,搜一下就知道了),接着根据你的二维数组定义一个BMP文件头对象,设置这个对象的值:如:宽度(128),高度(128),调色板块(如果色彩低于256色的话),数据的偏移值等 (3)以二进制形式写入头部...

谁能用C#帮我把这段BYTE字节转成BMP或其他
请提供byte数组,和对应图片的长宽。思路是新建一个指定长宽的bitmap ,将每个byte代表的颜色值一一对应填到bitmap 对应位置像素里,然后bitmap.save就可以。

请教一个C#中将byte[]数组转换为Image的问题
FromStream输入的内容必须是图片文件jpg,bmp的数据,而不是rgb数据 应该用Image的子类Bitmap,byte[] rgb = new byte[153600];\/\/原RGB字节数据 Bitmap img = new Bitmap(320, 240, PixelFormat.Format24bppRgb);\/\/锁定内存数据 BitmapData data=img.LockBits(new Rectangle(0,0,img.Width,img....

java 代码中如何将一个24位位图(123.bmp)转换成单色位图(123.bmp) 头...
BufferedImage sourceImg = ImageIO.read(new File("c:\\\\aa.bmp"));int h = sourceImg.getHeight();int w = sourceImg.getWidth();int[] pixels = new int[w * h]; \/\/ 定义一数组,用来存储图片的象素 int gray;PixelGrabber pg = new PixelGrabber(sourceImg, 0, 0, w, h, pixels...

VB 如何将数组保存为图像
还得转换成“一维”的数组数据。因为VB6.0用的数组是“安全数组”,它的各维存储顺序跟系统中用到的“真数组”不兼容的。有了我前面说的那些“信息”后,并且把数据格式转换后,就可以用GDI+的一系列API来处理了,不用再通过PictureBox,这样图片的尺寸大小(宽度或高度),基本上不受限制了。

VB 已知一个BMP文件的数据 10进制 字节数组 求 转化为 JPG文件的 10...
你可以在内存中进行格式转换。

相似回答