1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
| import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.PixelFormat; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable;
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream;
public class FormatTools { private static FormatTools tools = new FormatTools();
public static FormatTools getInstance() { if (tools == null) { tools = new FormatTools(); return tools; } return tools; }
public InputStream Byte2InputStream(byte[] b) { ByteArrayInputStream bais = new ByteArrayInputStream(b); return bais; }
public byte[] InputStream2Bytes(InputStream is) { String str = ""; byte[] readByte = new byte[1024]; int readCount = -1; try { while ((readCount = is.read(readByte, 0, 1024)) != -1) { str += new String(readByte).trim(); } return str.getBytes(); } catch (Exception e) { e.printStackTrace(); } return null; }
public InputStream Bitmap2InputStream(Bitmap bm) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); InputStream is = new ByteArrayInputStream(baos.toByteArray()); return is; }
public InputStream Bitmap2InputStream(Bitmap bm, int quality) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, quality, baos); InputStream is = new ByteArrayInputStream(baos.toByteArray()); return is; }
public Bitmap InputStream2Bitmap(InputStream is) { return BitmapFactory.decodeStream(is); }
public InputStream Drawable2InputStream(Drawable d) { Bitmap bitmap = this.drawable2Bitmap(d); return this.Bitmap2InputStream(bitmap); }
public Drawable InputStream2Drawable(InputStream is) { Bitmap bitmap = this.InputStream2Bitmap(is); return this.bitmap2Drawable(bitmap); }
public byte[] Drawable2Bytes(Drawable d) { Bitmap bitmap = this.drawable2Bitmap(d); return this.Bitmap2Bytes(bitmap); }
public Drawable Bytes2Drawable(byte[] b) { Bitmap bitmap = this.Bytes2Bitmap(b); return this.bitmap2Drawable(bitmap); }
public byte[] Bitmap2Bytes(Bitmap bm) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); return baos.toByteArray(); }
public Bitmap Bytes2Bitmap(byte[] b) { if (b.length != 0) { return BitmapFactory.decodeByteArray(b, 0, b.length); } return null; }
public Bitmap drawable2Bitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); return bitmap; }
public Drawable bitmap2Drawable(Bitmap bitmap) { BitmapDrawable bd = new BitmapDrawable(bitmap); Drawable d = (Drawable) bd; return d; } }
|