android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:

1、Drawable → Bitmap 的简单方法
((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap();


2、Drawable → Bitmap
Java代码
public static Bitmap drawableToBitmap(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);
//canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}


3.Bitmap→Drawable 的简单方法
BitmapDrawable bitmapDrawable = (BitmapDrawable)bitmap;
Drawable drawable = (Drawable)bitmapDrawable;


Bitmap bitmap = new Bitmap (...);
Drawable drawable = new BitmapDrawable(bitmap);


3、从资源中获取Bitmap
Java代码
Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);





4、Bitmap → byte[]
Java代码
private byte[] Bitmap2Bytes(Bitmap bm){
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bm.compress(Bitmap.CompressFormat.PNG, 100, baos); 
return baos.toByteArray();
}


5、 byte[] → Bitmap
Java代码
private Bitmap Bytes2Bimap(byte[] b){
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  3. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  4. eclipse中跳转查看android类的源码
  5. 如何反编译android的apk文件得到资源文件
  6. android上代码去执行"su"命令
  7. android 子线程 UI线程(主线程)通信
  8. Android中使用HttpGet和HttpPost访问HTTP资源
  9. 按钮的隐藏与不可见

随机推荐

  1. Android(安卓)动态申请存储权限
  2. 全屏显示问题
  3. Android总笔记(未全)
  4. Android -- WebView进度条
  5. Android下MP3播放器的实现源代码03
  6. android支付宝支付开发过程
  7. Android P FreeForm自由窗口模式简单实现
  8. Android PrefeneceActivity知识小结
  9. Android相机管理工具类
  10. AndroidManifest.xml文件详解(uses-featur