Bitmap与Drawable,byte之间怎样转化

操作方法

  • 01

    本文章作为一个android开发的入门教程,将不会长篇大论介绍其中的概念及理论。而是在android培训过程中通过案例实践来学习Bitmap与Drawable,byte[]之间的转化。 android开发在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下,以便于以后随时可用 1、drawable---->bitmap View Code 1 public static Bitmap drawableToBitmap(Drawable drawable) { 2        Bitmap bitmap = Bitmap 3                        .createBitmap( 4                                       drawable.getIntrinsicWidth(), 5                                        drawable.getIntrinsicHeight(), 6                                       drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 7                                                       : Bitmap.Config.RGB_565);           Canvas canvas = new Canvas(bitmap); 8        //canvas.setBitmap(bitmap); 9        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); 10         drawable.draw(canvas); 11        return bitmap; 12 }  2、从资源中获取Bitmap:drawable---->bitmap View Code 1 Resources res=getResources(); 2 Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic); 3 //或者这种方法也行,这两种方法都一样 4 Bitmap bmp = ((BitmapDrawable)this.getResources.getDrawable(R.drawable.pic)).getBitmap();3、bitmap---->drawable View Code 1 /** 2     * Bitmap转化为drawable 3     * @param bitmap 4     * @return 5     */ 6     public static Drawable bitmap2Drawable(Bitmap bitmap){ 7         return new BitmapDrawable(bitmap) ; 8     }  4、bitmap---->byte[] View Code 1 private byte[] Bitmap2Bytes(Bitmap bm){ 2     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 3     bm.compress(Bitmap.CompressFormat.PNG, 100, baos); 4     return baos.toByteArray(); 5    }  5、byte[]---->bitmap View Code 1 private Bitmap Bytes2Bimap(byte[] b){ 2             if(b.length!=0){ 3                 return BitmapFactory.decodeByteArray(b, 0, b.length); 4             } 5             else { 6                 return null; 7             } 8      } 通过以上的学习,大家可以系统的整理一下具体的操作流程。

(0)

相关推荐

  • CAD 样条曲线、多段线、直线之间的转化

    无需多言,直入正题 操作方法 01 一:多段线转直线: 无论多少条,直接x命令就行 02 二:直线转多段线: 1.   pe命令 2.  join命令 03 三:样条曲线转多段线 命令:fatten, ...

  • MB/s和Mbit/s有什么区别?MB/s与Mbit/s之间的区别详细介绍

    数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位。此处有必要讲解一下两个单位二者之间的差异: MB/s的含义是兆字节每秒,Mbit/s的含义 ...

  • 如何设计高转化着陆页—增长系列(一)

    增长的概念近来被炒的很热,尤其是线上流量获取成本越来越高的今天,以及目前的经济形势,无不逼迫着企业在思考如何用最低的成本获得最大的收益,这也是增长黑客的核心思想之一.增长的几个重要环节可以用著名的AA ...

  • 从二进制与十进制相互转换看进制之间的转换

    突然很想把以前学过的,自己引以为荣的东西(当然都是很简单的东西)整理一下,正好提供了一个很好的平台,那现在就先从进制之间的转换开始吧! 操作方法 01 二进制转为十进制 这是最简单的,将每个位置上的数 ...

  • QQ飞车奇幻卡片转化方法

    操作方法 01 QQ飞车奇幻卡片转化方法 卡片转化 卡片之间可以转化,一张卡片可以转化成另外一张同等级的卡片.卡片转化分为"随机转化"和"指定转化",选择好转化 ...

  • XP下超级终端与嵌入式开发板交互技巧

    一、简介 超级终端是Windows操作系统自带的一个通用的串行交互软件,可以通过这个工具对路由器交换机等进行配置。使用调制解调器、一条零调制解调电缆或以太网连接,再调用此程序能够连接到其他计算机、Te ...

  • 如何制作视频

    视频制作 屏幕录象专家 屏幕录象专家是专业的视频录制工具,有多种格式,操作简单(看看说明就可操作)。 视频压缩方法 1.同格式转化:降低分辨率(视频播放窗口大小),改变编码方式(主要适合 AVI ), ...

  • 网速慢的解决方法

    电信,网通都为用户提供了几种不同档次的网速可以选择. 一般家用的有1M. 2M 还有极速8M的. 我用的是电信ADSL2M的,每天费用是2元钱. 速度还可以啦,用BT下载的时候,一般都在210K左右. ...

  • 音频转化大师使用方法

    音频转化大师是一款优秀的软件,它既可在 WAV、MP3、WMA、Ogg Vorbis、RAW、VOX、CCIUT u-Law、PCM、MPC (MPEG plus/MusePack)、MP2 (MPE ...