android 从矢量图SVG获取位图bitmap
16lz
2021-01-23
关键代码
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 Java代码执行adb Shell命令
- 探寻 Android 代码抄袭细节,情节还不算严重
- Android清除本地数据缓存代码案例
- 【Android学习笔记】AutoCompleteTextView(数组在代码中)
- Android 高通代码预制apk可卸载,恢复出厂设置apk可恢复 Android M
- 36个Android开发常用经典代码大全
- 移动网站开发中常用的10段JavaScript代码