drawImage()与矢量绘制,Jetpack组成图形



我试图在这里提到的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

那么,这是否意味着我们不能将VectorDrawabledrawImage一起使用?有解决办法吗?

你可以通过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
}

相关内容

  • 没有找到相关文章

最新更新