android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换

Android图片二进制与Bitmap、Drawable之间的转换

Java代码

public byte[]

getBitmapByte(Bitmap bitmap){

ByteArrayOutputStream out

= new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);

try {

out.flush();

out.close();

} catch (IOException e)

{

e.printStackTrace();

}

return out.toByteArray();

}

public Bitmap getBitmapFromByte(byte[] temp){

if(temp != null){

Bitmap bitmap =

BitmapFactory.decodeByteArray(temp, 0, temp.length);

return bitmap;

}else{

return null;

}

}

public byte[] getBitmapByte(Bitmap

bitmap){

ByteArrayOutputStream out = new

ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100,

out);

try {

out.flush();

out.close();

} catch (IOException e)

{

e.printStackTrace();

}

return out.toByteArray();

}

public

Bitmap getBitmapFromByte(byte[] temp){

if(temp != null){

Bitmap bitmap =

BitmapFactory.decodeByteArray(temp, 0, temp.length);

return

bitmap;

}else{

return null;

}

}

Java代码

public

static Bitmap drawableToBitmap(Drawable drawable){

int width = drawable.getIntrinsicWidth();

int height =

drawable.getIntrinsicHeight();

Bitmap bitmap = Bitmap.createBitmap(width, height,

drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565);

Canvas canvas = new Canvas(bitmap);

drawable.setBounds(0,0,width,height);

drawable.draw(canvas);

return bitmap;

}

public static Bitmap

drawableToBitmap(Drawable drawable){

int width = drawable.getIntrinsicWidth();

int height = drawable.getIntrinsicHeight();

Bitmap bitmap =

Bitmap.createBitmap(width, height,

drawable.getOpacity() != PixelFormat.OPAQUE ?

Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565);

Canvas canvas = new

Canvas(bitmap);

drawable.setBounds(0,0,width,height);

drawable.draw(canvas);

return bitmap;

}

Java代码

Drawable drawable = new FastBitmapDrawable(bitmap);

Android图片缓存之Bitmap详解

前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. 图片缓存相关博客地址: Android图片缓 ...

【转】Android中dip(dp)与px之间单位转换

Android中dip(dp)与px之间单位转换 dp这个单位可能对web开发的人比较陌生,因为一般都是使用px(像素)但是,现在在开始android应用和游戏后,基本上都转换成用dp作用为单位了,因 ...

Android图片缓存之Bitmap详解(一)

前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. Bitmap: Bitmap是Android ...

Android 图片文件和Bitmap之间的转换

String filePath="c:/01.jpg"; Bitmap bitmap=BitmapFactory.decodeFile(filePath); 如果图片过大,可能导致 ...

Android笔记之dp与px之间的转换以及LayoutParams

dp与px之间的转换公式 px = dp * (dpi / 160) dp = px / (dpi / 160) 其中dpi的获取方式如下 private void getDpi() { Displa ...

byte、二进制、十进制数值之间的转换

项目中遇到将字节数据文件解析成可展示的十进制,经过调查和测试得出下面的转换方法 1.将byte值转换为二进制字符串: byte byteValue = -1; // 将byte转换为8位二进制字符串 ...

Android图片缓存之Lru算法

前言: 上篇我们总结了Bitmap的处理,同时对比了各种处理的效率以及对内存占用大小.我们得知一个应用如果使用大量图片就会导致OOM(out of memory),那该如何处理才能近可能的降低oom发 ...

Android图片缓存之Glide进阶

前言: 前面学习了Glide的简单使用(Android图片缓存之初识Glide),今天来学习一下Glide稍微复杂一点的使用. 图片缓存相关博客地址: Android图片缓存之Bitmap详解 And ...

Android图片缓存之初识Glide

前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...

随机推荐

javascript的函数

1.函数的声明 (1) function命令方式 function fn(){}; (2) 函数的表达式 采用变量赋值的方式,function命令后面不带有函数名.如果加上函数名,那么该函数名只在函数 ...

C#调用NPOI组件导出Excel表格

把一个List集合的数据导出到Excel表格中 public static string RenderToExcel(List datas) { MemoryStr ...

BZOJ 1855 股票交易(单调队列优化DP)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1855 题意:最近lxhgww又迷上了投资股票, 通过一段时间的观察和学习,他总结出了股票 ...

C++仿函数(functor)详解

C++仿函数(functor)详解 所谓的仿函数(functor),是通过重载()运算符模拟函数形为的类. 因此,这里需要明确两点: 1 仿函数不是函数,它是个类: 2 仿函数重载了()运算符,使得它 ...

android中最先被执行的activity

像C.C++.JAVA都有一个主函数作为程序的入口点,但是Android中并没有一个明确的主窗口,那么在有多个Activity的情况下,最先被执行的是哪个呢?这完全取决于配置文件AndroidMain ...

hdu 2553 N皇后问题 (经典DFS)

题目链接:点击链接 思路:用一维数组hang[num] = i,num表示第num行,i表示第i列,计算n = 1~10皇后的不同放置数量,然后打表 #include # ...

Jquery Ajax调用aspx页面实例

目前,我会的几种asp.net界面与后台代码交互方式有几种: 1.webform+服务器控件交互: 2.webform+jquery+ajax+一般处理程序交互: 3.webform+jquery+a ...

如何使用jQuery动态的在body里添加script标签?

var script = document.createElement('script'); script.type = 'text/jacascript'; script.src = 'url'; ...

【floyd】 poj 2240

#include #include #include #include usi ...

C#语言和SQL Server第十章笔记

第十章 :使用关键字模糊查询 笔记 一:使用关键字 :LIKE  BETWEEN  IN进行模糊查询 通配符:  一类字符,代替一个或多个真正的字符 与LIKE关键字一起使用 通配符: 解释 实例 符 ...

你可能感兴趣的:(android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换)