当前位置: 代码迷 >> Android >> Android中Bit地图, Drawable, Byte之间的转化
  详细解决方案

Android中Bit地图, Drawable, Byte之间的转化

热度:222   发布时间:2016-05-01 16:24:16.0
Android中Bitmap, Drawable, Byte之间的转化

1.? Bitmap 转化为 byte
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
byte[] array= out.toByteArray();

2. byte转化为bitmap
final ContentResolver contentResolver = context.getContentResolver();
final PackageManager manager = context.getPackageManager();
final Cursor c = contentResolver.query(uri, null, null, null, null);
final int icon3DIndex = c.getColumnIndexOrThrow(ColumnName);
byte[] data = c.getBlob(icon3DIndex);
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);

3. bitmap转化为Drawable
Drawable drawable = new FastBitmapDrawable(bitmap);
...

4. Drawable转化为bitmap
?a. BitmapDrawable, FastBitmapDrawable直接用getBitmap
?b. 其他类型的Drawable用Canvas画到一个bitmap上
????? Canvas canvas = new Canvas(bitmap)
????? drawable.draw(canvas);

  相关解决方案