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. android读写串口
  3. android 工具类 数据库管理
  4. Android(安卓)休眠与唤醒
  5. 清除app数据等同于设置中的清除数据
  6. Android7.0中文文档(API)-- Filter
  7. android代码格式化方法小结
  8. Android(安卓)Http RequestCache缓存策略
  9. 获取 + 查看 Android(安卓)源码的 方法

随机推荐

  1. 【腾讯二面】5s内建立多少个mysql连接?
  2. Java异常与调优一站式解决方案
  3. 昨天面试别人说他熟悉Flink,结果我问了他F
  4. js作业一常识类
  5. 2021-04-04:给定一个非负数组arr,和一个正
  6. 2021必修 首门CSS架构系统精讲 理论+实战
  7. 大数据成神之路-Java高级特性增强(锁)
  8. nginx搭建web服务器,配置端口复用
  9. Python 爬虫进阶必备 | 某壁纸网站请求头
  10. Dnsmasq安装后不能启动