zoukankan      html  css  js  c++  java
  • Bitmap 与Drawable相互转换

    Drawable 转 Bitmap

    import android.graphics.Bitmap;
    import android.graphics.drawable.Drawable;
    import android.graphics.drawable.BitmapDrawable;
    
    Drawable d = getResource().getDrawable(R.id.background);
    
    BitmapDrawable bd = (BitmapDrawable) d;
    
    Bitmap bp = bd.getBitmap();

    Bitmap 转 Drawable

    Bitmap bm=XXX;
    
    Drawable bd=(Drawable)(new BitmapDrawable(bm));
    //因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。

    Drawable 缩放:

    static Bitmap zoomDrawable(Drawable drawable, int w, int h)
        {
                  int width = drawable.getIntrinsicWidth();
                  int height= drawable.getIntrinsicHeight();
                  Bitmap oldbmp = ((BitmapDrawable)drawable).getBitmap();
                  Matrix matrix = new Matrix();   // 创建操作图片用的Matrix对象
                  float scaleWidth = ((float)w / width);   // 计算缩放比例
                  float scaleHeight = ((float)h / height);
                  matrix.postScale(scaleWidth, scaleHeight);         // 设置缩放比例
                  Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true);       // 建立新的bitmap,其内容是对原bitmap的缩放后的图
                  return newbmp;       // 把bitmap转换成drawable并返回
        }
  • 相关阅读:
    java 深入技术三(List)
    java 深入技术二(Collection)
    java开发JDBC连接数据库详解
    数据库基础和JDBC
    java 深入技术一
    java入门 第三季4
    java入门 第三季3
    04-1. 水仙花数(20)
    04-0. 求符合给定条件的整数集(15)
    03-4. 成绩转换(15)
  • 原文地址:https://www.cnblogs.com/qgli/p/3141643.html
Copyright © 2011-2022 走看看