使用painter,可以使用代码片段在ImageBitmap上绘制
val imageBitmap: ImageBitmap = imageResource(id = R.drawable.landscape3)
val customPainter = remember {
object : Painter() {
override val intrinsicSize: Size
get() = Size(imageBitmap.width.toFloat(), imageBitmap.height.toFloat())
override fun DrawScope.onDraw() {
drawImage(imageBitmap)
drawLine(
color = Color.Red,
start = Offset(0f, 0f),
end = Offset(imageBitmap.width.toFloat(), imageBitmap.height.toFloat()),
strokeWidth = 5f
)
}
}
}
Image(painter = customPainter, contentDescription = null)loadFontResource已弃用。请改用fontResource。imageResource、loadImageResource、vectorResource和loadVectorResource已弃用。请改用painterResource。(I6b809)
使用alpha12imageResource已弃用。painter%sdrawImage(imageBitmap)
绘制图像的函数没有替换,或者除了以imageBitmap为参数的函数之外,还有其他函数?
从alpha12开始,ImageBitmap的意义何在,因为没有不推荐使用的函数来使用资源来创建它,而从Painter获取ImageBitmap的函数也不存在。
发布于 2021-02-14 19:17:18
imageResource和vectorResource现在分别是ImageBitmap和ImageVector上的扩展函数。加载{Image,Vector,Font}资源函数已被删除。(I89130)
import androidx.compose.ui.res.imageResource
// ...
val imageBitmap: ImageBitmap = ImageBitmap.imageResource(R.drawable.landscape3)painterResource幕后召唤~~imageFromResource~~,所以我们也可以使用它:
val imageBitmap: ImageBitmap = imageFromResource(
LocalContext.current.resources,
R.drawable.landscape3
)发布于 2021-02-14 17:33:04
我使用这种方法来使用位图或SVG。
Image(
painterResource(id = R.drawable.video),
contentDescription = "",
)https://stackoverflow.com/questions/66186917
复制相似问题