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并返回
        }
  • 相关阅读:
    SDUT 猴子分桃
    SDUT 母牛的故事
    SDUT 小鑫の日常系列故事(六)——奇遇记 递推算法
    SDUT 爬楼梯
    SDUT 王小二切饼
    linux 排序命令sort
    shell 判断语句
    shell统计指定范围内的所有质数以及它们的和
    shell 1到指定数累加
    shell九九乘法表
  • 原文地址:https://www.cnblogs.com/qgli/p/3141643.html
Copyright © 2011-2022 走看看