美文网首页
Android中SVG转Bitmap的问题

Android中SVG转Bitmap的问题

作者: 不会弹钢琴de大叔 | 来源:发表于2023-08-07 15:36 被阅读0次

    最近在使用bitmap时发现,如果加载svg的图片转换bitmap会报异常,因为svg矢量图没办法直接转换成bitmap,需要使用下面的方法转换一下即可。

       private Bitmap getBitmapFromDrawable(@DrawableRes int drawableId) {
            Drawable drawable = ContextCompat.getDrawable(getContext(), drawableId);
            if (drawable instanceof BitmapDrawable) {
                return ((BitmapDrawable) drawable).getBitmap();
            } else if (drawable instanceof VectorDrawable || drawable instanceof VectorDrawableCompat) {
                Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
                Canvas canvas = new Canvas(bitmap);
                drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
                drawable.draw(canvas);
                return bitmap;
            } else {
                throw new IllegalArgumentException("unsupported drawable type");
            }
        }
    

    相关文章

      网友评论

          本文标题:Android中SVG转Bitmap的问题

          本文链接:https://www.haomeiwen.com/subject/ebygpdtx.html