android 一些数据转换方法

package com.ai9475.util;import android.content.Context;import android.content.res.Resources;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;/** * 数据格式转换工具类 * * Created by ZHOUZ on 14-2-15. */public class ZFormat{    private ZFormat() { }    /**     * 将byte[]转换成InputStream     *     * @param b     * @return     */    public static InputStream byte2InputStream(byte[] b) {        ByteArrayInputStream bais = new ByteArrayInputStream(b);        return bais;    }    /**     * 将InputStream转换成byte[]     *     * @param is     * @return     */    public static 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;    }    /**     * 将Bitmap转换成InputStream     *     * @param bm     * @return     */    public static InputStream bitmap2InputStream(Bitmap bm) {        ByteArrayOutputStream baos = new ByteArrayOutputStream();        bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);        InputStream is = new ByteArrayInputStream(baos.toByteArray());        return is;    }    /**     * 将Bitmap转换成InputStream     *     * @param bm     * @param quality     * @return     */    public static 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;    }    /**     * 将InputStream转换成Bitmap     *     * @param is     * @return     */    public static Bitmap inputStream2Bitmap(InputStream is) {        return BitmapFactory.decodeStream(is);    }    // Drawable转换成InputStream    public static InputStream drawable2InputStream(Drawable d) {        Bitmap bitmap = drawable2Bitmap(d);        return bitmap2InputStream(bitmap);    }    /**     * InputStream转换成Drawable     *     * @param context     * @param is     * @return     */    public static Drawable inputStream2Drawable(Context context, InputStream is) {        Bitmap bitmap = inputStream2Bitmap(is);        return bitmap2Drawable(context, bitmap);    }    /**     * Drawable转换成byte[]     *     * @param d     * @return     */    public static byte[] drawable2Bytes(Drawable d) {        Bitmap bitmap = drawable2Bitmap(d);        return bitmap2Bytes(bitmap);    }    /**     * byte[]转换成Drawable     *     * @param context     * @param b     * @return     */    public static Drawable bytes2Drawable(Context context, byte[] b) {        Bitmap bitmap = bytes2Bitmap(b);        return bitmap2Drawable(context, bitmap);    }    /**     * Bitmap转换成byte[]     *     * @param bm     * @return     */    public static byte[] bitmap2Bytes(Bitmap bm) {        ByteArrayOutputStream baos = new ByteArrayOutputStream();        bm.compress(Bitmap.CompressFormat.PNG, 100, baos);        return baos.toByteArray();    }    /**     * byte[]转换成Bitmap     *     * @param b     * @return     */    public static Bitmap bytes2Bitmap(byte[] b) {        if (b.length != 0) {            return BitmapFactory.decodeByteArray(b, 0, b.length);        }        return null;    }    /**     * Drawable转换成Bitmap     *     * @param drawable     * @return     */    public static 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;    }    /**     * Bitmap转换成Drawable     *     * @param context     * @param bitmap     * @return     */    public static Drawable bitmap2Drawable(Context context, Bitmap bitmap) {        Resources res = context.getResources();        BitmapDrawable bd = new BitmapDrawable(res, bitmap);        Drawable d = (Drawable) bd;        return d;    }}


更多相关文章

  1. android 工具类 数据库管理
  2. 清除app数据等同于设置中的清除数据
  3. android代码格式化方法小结
  4. android自带数据库之数据插入
  5. android中的数据库——学习
  6. Android Installation error: INSTALL_FAILED_INSUFFICIENT_STOR
  7. TextView 加链接所有方法
  8. Android 数据存储之文件存储小记

随机推荐

  1. 获取 + 查看 Android(安卓)源码的 方法
  2. Android(安卓)5.0 默认水波纹背景属性,可
  3. android颜色代码
  4. 【Android】:跳转系统界面汇总
  5. Android(安卓)控件GridView使用案例讲解
  6. 【Android】自定义权限
  7. Android(安卓)SDK Emulator: Compile Cya
  8. android FloatingActionButton
  9. android双击事件
  10. Android(安卓)NDK Tools 下载链接大全