1 package com. bingo. util;
2
3 import java. io. BufferedOutputStream;
4 import java. io. ByteArrayOutputStream;
5 import java. io. File;
6 import java. io. FileOutputStream;
7 import java. io. IOException;
8 import java. io. InputStream;
9
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 parses the image content into a byte array
20 * @ param inStream
21 * @ return byte []
22 * @ throws Exception
23 */
24 public static byte [] readStream (InputStream inStream) throws Exception {
25 byte [] buffer = new byte [1, 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 converts a byte array to a Bitmap object that can be called by ImageView.
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 Image Scaling
55 * @ param bitmap object
56 * @ param w: the width to be scaled
57 * @ param h the height to be scaled
58 * @ return newBmp new Bitmap object
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 * convert Bitmap to Byte
74 * @ Author HEH
75 * @ EditTime 2010-07-19 11:45:56 AM
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 * Save the byte array as a file
84 * @ Author HEH
85 * @ EditTime 2010-07-19 11:45:56 AM
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}
Loading editor...