安卓Drawable改变大小

来源:互联网 发布:充电宝排行知乎 编辑:程序博客网 时间:2024/05/22 15:13
    private Drawable zoomDrawable(Drawable drawable, int w, int h) {        int width = drawable.getIntrinsicWidth();        int height = drawable.getIntrinsicHeight();        Bitmap oldbmp = drawableToBitmap(drawable);        Matrix matrix = new 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);        return new BitmapDrawable(null, newbmp);    }    private Bitmap drawableToBitmap(Drawable drawable) {        int width = drawable.getIntrinsicWidth();        int height = drawable.getIntrinsicHeight();        Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888                : Bitmap.Config.RGB_565;        Bitmap bitmap = Bitmap.createBitmap(width, height, config);        Canvas canvas = new Canvas(bitmap);        drawable.setBounds(0, 0, width, height);        drawable.draw(canvas);        return bitmap;    }
0 0
原创粉丝点击