我试图在这里提到的drawScope
中绘制一个可绘制的矢量(<vector ...> ... </vector>
)。
但是当我尝试使用这里给出的函数时,比如val imageBitmap = ImageBitmap.imageResource(id = R.drawable.my_vector_image)
我得到以下错误:
java.lang.ClassCastException: android.graphics.drawable.VectorDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
那么,这是否意味着我们不能将VectorDrawable
与drawImage
一起使用?有解决办法吗?
你可以通过Painter而不是ImageBitmap在drawScope中绘制VectorDrawable
@Preview
@Composable
private fun DrawSample() {
val painter: Painter = painterResource(id = R.drawable.vd_dashboard_active)
Canvas(modifier = Modifier.fillMaxSize()){
with(painter){
draw(size = Size(200.dp.toPx(), 200.dp.toPx()))
}
}
}
如果你想改变绘图的位置,你可以使用translate()
translate(left = 100f, top = 200f){
// Your drawing here
}