android 从矢量图SVG获取位图bitmap
16lz
2022-03-13
关键代码
public static Bitmap getBitmapFromDrawable(Context context, @DrawableRes int drawableId) { Drawable drawable = ContextCompat.getDrawable(context, 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 { defaultConfig { vectorDrawables.useSupportLibrary = true }}
原文连接
http://stackoverflow.com/questions/33696488/getting-bitmap-from-vector-drawable
更多相关文章
- 探寻 Android(安卓)代码抄袭细节,情节还不算严重
- Android————一个简单的新闻面板
- android ndk与sdk
- Android服务监控
- Android(安卓)自定义设置文本字体间间距
- Android(安卓)Java代码执行adb Shell命令
- android连续按两次返回退出程序(完整代码)
- 45 Android(安卓)activity 向 fragment 传值
- Android(安卓)studio连接Bmob云数据库教程