java中如何将字节数组转化成图片

Python020

java中如何将字节数组转化成图片,第1张

java将byte数组转换成图片,可以File和IO操作来完成,实例如下:

//byte数组到图片到硬盘上 public void byte2image(byte[] data,String path){if(data.length<3||path.equals("")) return//判断输入的byte是否为空try{FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path))//打开输入流imageOutput.write(data, 0, data.length)//将byte写入硬盘imageOutput.close() System.out.println("Make Picture success,Please find image in " + path) } catch(Exception ex) { System.out.println("Exception: " + ex) ex.printStackTrace() } }

//我在程序中打印出了每一个坐标的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=minxi<widthi++){

for(int j=minyj<heightj++){

//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]+")")

}

}

}

}