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(安卓)SharedPreferences的使用案例
  2. android 一些数据转换方法
  3. Android(安卓)获取版本号
  4. android读写串口
  5. android 工具类 数据库管理
  6. Android(安卓)休眠与唤醒
  7. 清除app数据等同于设置中的清除数据
  8. Android7.0中文文档(API)-- Filter
  9. android代码格式化方法小结

随机推荐

  1. Android海康监控视频调用demo
  2. Android中TabHost的原理及使用
  3. Android(安卓)记录一次开发微信分享功能
  4. Android面试时的问题,实现半透明的popupw
  5. Android(安卓)给Button加个监听
  6. Android(安卓)程式开发:(二十)内容提供者 —
  7. MPAndroidChart 3.0——BarChart(一)
  8. Android(安卓)BaseActivity和BaseFragmen
  9. 动画---放缩,旋转,移动,渐变
  10. android apk如何引用系统framework.jar,s