使用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)
使用 alpha12 imageResource
已弃用。 painter
的 drawImage(imageBitmap)
绘制图像的函数没有替代或除以 imageBitmap 作为参数的函数之外的其他函数?
从 alpha12 开始,ImageBitmap 有什么意义,因为没有不推荐使用资源创建它的函数,并且不存在从 Painter 获取 ImageBitmap 的函数。
答案 0 :(得分:3)
imageResource 和 vectorResource 现在分别是 ImageBitmap 和 ImageVector 伴侣的扩展函数。 load{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
)
罢工>
答案 1 :(得分:0)
我使用这种方法来使用位图或 SVG
Image(
painterResource(id = R.drawable.video),
contentDescription = "",
)