图片与byte[]相互转换

package com.io.img;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;

import javax.imageio.stream.FileImageInputStream;
import javax.imageio.stream.FileImageOutputStream;

/**
 * 将文件 转换成byte数组
 *
 * @author Administrator
 *
 */
public class ImageByte {

	public static byte[] imageByte(String path) {
		// 定义byte数组
		byte[] data = null;
		ByteArrayOutputStream output = null;
		// 定义fileimage输入流
		FileImageInputStream input = null;
		try {
			input = new FileImageInputStream(new File(path));
			// 获取byte输出流
			output = new ByteArrayOutputStream();
			byte[] buf = new byte[1024];
			int numBytesRead = 0;
			// 读取数据
			while ((numBytesRead = input.read(buf)) != -1) {
				output.write(buf, 0, numBytesRead);
			}
			// 转换byte数组
			data = output.toByteArray();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (output != null)
				try {
					output.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			if (input != null)
				try {
					input.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
		}
		return data;
	}

	/**
	 *  将byte数组转换为img
	 */
	public  static void byteImage(byte[] data,String path){

		FileImageOutputStream imageOutput=null;
		try{
			//获取文件图片输出流
			imageOutput = new FileImageOutputStream(new File(path));
			//输出图片
			imageOutput.write(data, 0, data.length);
			System.out.println("图片存到了了" + path);
		} catch(Exception ex) {
			ex.printStackTrace();
		}finally{
			if(imageOutput!=null){
				try {
					imageOutput.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

	public static void main(String[] args) {
		String path = "E:\\my.png";
		byte img[]=imageByte(path);
		System.out.println(img);
		byteImage(img, "F://test.png");
	}
}

时间: 2024-10-09 01:22:27

图片与byte[]相互转换的相关文章

java 中 image 和 byte[] 相互转换

java 中 image 和 byte[] 相互转换可恶的…………其实也挺好的 只是把好不容易写出来的东西记下来,怕忘了…… 下面,我来介绍一个简单的 byte[] to image, 我们只需要一个存储了图片信息的二进制串(byte[]) 然后,这样: InputStream buffin = new ByteArrayInputStream(/*二进制串*/,                                               /*起始位置*/,           

开发路程(8):图片和byte[]的互相转换

1 //图片的"读"操作 2 //①参数是图片路径:返回Byte[]类型: 3 //参数是图片的路径 4 public byte[] GetPictureData(string imagePath){ 5 FileStream fs=new FileStream(imagePath,FileMode.Open); 6 byte[] byteData=new byte[fs.Length]; 7 fs.Read(byteData,0,byteData.Length); 8 fs.Clos

DWORD?WORD?BYTE?相互转换?.xml

?DWORD?WORD?BYTE?相互转换 ?? ??DWORD??4个字节 ??WORD?????2个字节 ??BYTE???????1个字节 ? 1)?DWORD--->WORD ????DWORD?dw=0;?? ?????? ?????? ????WORD?hW=HIWORD(dw);?? ????WORD?lW=LOWORD(lw);?? 2)WORD--->DWORD ????DWORD?dw=0;?? ?????? ?????? ????WORD?hW=HIWORD(dw);??

Java 图片与byte数组互相转换

1 //图片到byte数组 2 public byte[] image2byte(String path){ 3 byte[] data = null; 4 FileImageInputStream input = null; 5 try { 6 input = new FileImageInputStream(new File(path)); 7 ByteArrayOutputStream output = new ByteArrayOutputStream(); 8 byte[] buf =

图片和base64编码字符串 互相转换,图片和byte数组互相转换

图片和base64编码字符串 互相转换 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; /** * @author lishupeng * @create 2017-05-06 下午 2:56 **/ public class Base64Test { public static void main(String[] args) { String strImg = GetImageSt

UWP&WP8.1 重新绘制图片 WriteableBitmap用法 图片转byte[]数组,byte[]数组转图片

---恢复内容开始--- WriteableBitmap 是UWP和WP8.1绘制图片的,重组图片的最重要方法.方法较为简单,方法多样性. 通过查看文档,WriteableBitmap的继承性是   WriteableBitmap : BitmapSource [BitmapSource : ImageSource],也就是说WB[WriteableBitmap下文简称]可以直接赋值给Image控件的Source. 用法介绍: WriteableBitmap WB=new WriteableBi

Silverlight将图片转换为byte

前言 又是好久没写博客了~~~,越来越懒,越来越没有目标了! 正文 最近总是有人问如何通过Silverlight上传图片并保存的后台服务器?众所周知,Silverlight是客户端程序,不能很好与服务器进行“沟通”,上传图片的方法呢大致都是通过以下流程: 1.客户端获取图片-->2.转换能够传输的数据-->3.传递数据到服务端-->4.服务端还原数据为图片 第一步和第四步没有问题,问题大多出在第二步和第三步,如何得到客户端和服务端都能识别并且容易传递的数据呢? 如果你使用的客户端和服务端

C#程序中将图片转换为byte数组,并将byte数组转换为图片

/// <summary> /// 将图片以二进制流 /// </summary> /// <param name="path"></param> /// <returns></returns> public byte[] SaveImage(String path) { FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //

关于图片与base64相互转换的工具类

最近在编写平台对接软件,需要从Oracle中取出blob类型图片数据转换为base64字符串写入到xml中,这里记录一下用到的转换方法 // 将一张本地图片转化成Base64字符串 public static String GetImageStrFromPath(String imgPath) { InputStream in = null; byte[] data = null; // 读取图片字节数组 try { in = new FileInputStream(imgPath); data