zoukankan      html  css  js  c++  java
  • Drawable转换为Bitmap两种方法

    如果通过网络加载了一张位图,想拿到这张位图的Bitmap,有两种办法,至于那种好,可能要看是在什么情况下了

    1,根据已有的Drawable创建一个新的Bitmap:

    private Bitmap bitmap;
    private void drawableToBitamp(Drawable drawable)
    {
    int w = drawable.getIntrinsicWidth();
    int h = drawable.getIntrinsicHeight();
    System.out.println("Drawable转Bitmap");
    Bitmap.Config config =
    drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
    : Bitmap.Config.RGB_565;
    bitmap = Bitmap.createBitmap(w,h,config);
    //注意,下面三行代码要用到,否在在View或者surfaceview里的canvas.drawBitmap会看不到图
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, w, h);
    drawable.draw(canvas);
    }


    2,直接从现有的Drawable中取出Bitmap:

     private Bitmap bitmap;

    private void drawableToBitamp(Drawable drawable)
    {
    BitmapDrawable bd = (BitmapDrawable) drawable;
    bitmap = bd.getBitmap();
    }
    ---------------------------------------------------------- 不要抱怨,出生不能规划,未来却能规划,大步向前走,永不止步
  • 相关阅读:
    Newbit 启用淘宝店域名
    Ninja构建系统入门
    异想家Golang学习笔记
    Webpack学习
    JavaFx图形界面开发
    异想家Win10常用的软件推荐
    Java Swing图形界面开发
    优雅写Java之四(类与对象)
    优雅写Java之三(IO与文本解析)
    优雅写Java之二(数组集合流)
  • 原文地址:https://www.cnblogs.com/caicaixu/p/3737385.html
Copyright © 2011-2022 走看看