您的位置:首页 > 移动开发 > Android开发

android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byt

2012-07-16 16:54 916 查看
import java.io.BufferedOutputStream;     
04.import java.io.ByteArrayOutputStream;     
05.import java.io.File;     
06.import java.io.FileOutputStream;     
07.import java.io.IOException;     
08.import java.io.InputStream;     
09.     
10.import android.graphics.Bitmap;     
11.import android.graphics.BitmapFactory;     
12.import android.graphics.Matrix;     
13.     
14.public class ImageDispose {     
15.         
16.         
17.         
18.    /** 
 
19.     * @param 将图片内容解析成字节数组   
20.     * @param inStream   
21.     * @return byte[]   
22.     * @throws Exception   
23.     */     
24.    public static byte[] readStream(InputStream inStream) throws Exception {  
  
25.        byte[] buffer = new byte[1024];  
  
26.        int len = -1;     
27.        ByteArrayOutputStream outStream = new ByteArrayOutputStream();     
28.        while ((len = inStream.read(buffer)) != -1) {  
  
29.            outStream.write(buffer, 0, len);     
30.        }     
31.        byte[] data = outStream.toByteArray();     
32.        outStream.close();     
33.        inStream.close();     
34.        return data;     
35.     
36.    }     
37.    /** 
 
38.     * @param 将字节数组转换为ImageView可调用的Bitmap对象 
 
39.     * @param bytes   
40.     * @param opts   
41.     * @return Bitmap   
42.     */     
43.    public static Bitmap getPicFromBytes(byte[] bytes,  
  
44.            BitmapFactory.Options opts) {     
45.        if (bytes != null)     
46.            if (opts != null)     
47.                return BitmapFactory.decodeByteArray(bytes, 0, bytes.length,  
  
48.                        opts);     
49.            else     
50.                return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);  
  
51.        return null;     
52.    }     
53.    /** 
 
54.     * @param 图片缩放   
55.     * @param bitmap 对象   
56.     * @param w 要缩放的宽度   
57.     * @param h 要缩放的高度   
58.     * @return newBmp 新 Bitmap对象   
59.     */     
60.    public static Bitmap zoomBitmap(Bitmap bitmap, int w, int h){  
  
61.        int width = bitmap.getWidth();     
62.        int height = bitmap.getHeight();     
63.        Matrix matrix = new Matrix();     
64.        float scaleWidth = ((float) w / width);     
65.        float scaleHeight = ((float) h / height);     
66.        matrix.postScale(scaleWidth, scaleHeight);     
67.        Bitmap newBmp = Bitmap.createBitmap(bitmap, 0, 0, width, height,  
  
68.                matrix, true);     
69.        return newBmp;     
70.    }     
71.         
72.    /** 
 
73.     * 把Bitmap转Byte   
74.     * @Author HEH   
75.     * @EditTime 2010-07-19 上午11:45:56 
 
76.     */     
77.    public static byte[] Bitmap2Bytes(Bitmap bm){  
  
78.        ByteArrayOutputStream baos = new ByteArrayOutputStream();     
79.        bm.compress(Bitmap.CompressFormat.PNG, 100, baos);     
80.        return baos.toByteArray();     
81.    }     
82.    /** 
 
83.     * 把字节数组保存为一个文件   
84.     * @Author HEH   
85.     * @EditTime 2010-07-19 上午11:45:56 
 
86.     */     
87.    public static File getFileFromBytes(byte[] b, String outputFile) {  
  
88.        BufferedOutputStream stream = null;     
89.        File file = null;     
90.        try {     
91.            file = new File(outputFile);     
92.            FileOutputStream fstream = new FileOutputStream(file);     
93.            stream = new BufferedOutputStream(fstream);     
94.            stream.write(b);     
95.        } catch (Exception e) {     
96.            e.printStackTrace();     
97.        } finally {     
98.            if (stream != null) {     
99.                try {     
100.                    stream.close();     
101.                } catch (IOException e1) {     
102.                    e1.printStackTrace();     
103.                }     
104.            }     
105.        }     
106.        return file;     
107.    }     
108.             
109.}    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐