Android Drawable转换为Bitmap两种方案
2016-05-25 14:04:54  By: dwtedx

很多时候我们会通过网络加载了一张位图、如果想拿到这张位图的Bitmap、有两种办法、至于那种好、可能要看是在什么情况下了、我个人两种方法都使用过、最后还是选择了第一种方法、兼容性会强一点


方案一

private Bitmap drawableToBitamp(Drawable drawable)
{
    Bitmap bitmap = null;
    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);
    return bitmap;
}


方案二

private Bitmap drawableToBitamp(Drawable drawable)
{
    BitmapDrawable bd = (BitmapDrawable) drawable;
    Bitmap bitmap = bd.getBitmap();
    return Bitmap;
}


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+