Denis
03/04/2021, 5:21 PMdrawImage
method, but it accepts only an ImageBitmap. Probably I need to convert ImageVector to ImageBitmap, but I don't understand hownglauber
03/04/2021, 6:40 PMval ctx = LocalContext.current
val drawableRes = ContextCompat.getDrawable(ctx, R.drawable.ic_android_orange)
Canvas(...) {
drawableRes?.let {
drawImage(
it.toBitmap(
width = 96.dp.roundToPx(),
height = 96.dp.roundToPx()
).asImageBitmap(),
)
}
}
Denis
03/04/2021, 7:13 PMNader Jawad
03/04/2021, 7:27 PMval vectorPainter = rememberVectorPainter(myImageVector)
Canvas(modifier = Modifier.size(100.dp)) {
with(vectorPainter) {
draw(size)
}
}
And if you have your own VectorDrawable resource you can do the following:
val vectorPainter = painterResource(R.drawable.my_resource)
Canvas(modifier = Modifier.size(100.dp)) {
with(vectorPainter) {
draw(size)
}
}
nglauber
03/04/2021, 7:28 PMNader Jawad
03/04/2021, 7:31 PMModifier.paint(painter)
on any composableImage
composable, internally it uses Modifier.paint
to do the heavy lifting of all the drawing logicnglauber
03/04/2021, 7:33 PMrememberVectorPainter
instead of VectorPainter
construtor (which is private), right?Nader Jawad
03/04/2021, 7:34 PMrememberVectorPainter
. Apologies we went through a few revisions of this API and it was originally called VectorPainter
I updated the sample code to reflect this.Denis
03/04/2021, 7:42 PMrememberVectorPainter
yesterday, but just did not understand how to use it. I tried to call .draw
on it directly, but ... well I see that now. My lack of Kotlin understanding played against me here.