通过将SVG导入到android,我正在将SVG转换为矢量资产。如何用jetpack构图将向量绘制到画布上。我看到的唯一选项是drawImage,它只使用ImageBitmap。但是这是一个向量,而不是位图,所以有一种方法只绘制ImageVector。
val logoVector: ImageVector = ImageVector.vectorResource(id = R.drawable.diasyst_logo)发布于 2021-11-26 10:41:42
您可以将您的ImageVector包装到一个VectorPainter中,它可以呈现到标准的合成画布中。
val vector = ImageVector.vectorResource(id = R.drawable.ic_launcher_foreground)
val painter = rememberVectorPainter(image = vector)
Canvas(modifier = Modifier.fillMaxSize()) {
with(painter) {
draw(painter.intrinsicSize)
}
}发布于 2021-11-26 10:45:00
如果不严格要求在Canvas中绘制,则Icon和Image可组合性将接受矢量图形资源。
Icon(
imageVector = ...
contentDescription = ""
)
Image(
imageVector = ...
contentDescription = ""
)除此之外,唯一的方法是基本上将向量转换为可以在drawImage方法Canvas中使用的格式。我知道您关心性能和优化,但是请放心,使用转换方法是没有问题的
https://stackoverflow.com/questions/70122336
复制相似问题