android - Jetpack Compose 如何创建具有特定大小和配置的 ImageBitmap?
问题描述
ImageBitmap 加载和图像
ImageBitmap.imageResource(
LocalContext.current.resources,
R.drawable.landscape1
)
还有一个函数可以用一些参数调用
ImageBitmap(
width = 300,
height = 300,
config = ImageBitmapConfig.Argb8888,
hasAlpha = true,
colorSpace = ColorSpaces.Srgb
)
它返回并没有像素数据的空位图,是否可以创建具有某些特定配置的 imageBitMap?
ImageBitmap 有类似的东西吗?
val option = BitmapFactory.Options()
option.inPreferredConfig = Bitmap.Config.ARGB_8888
val bitmap: Bitmap = BitmapFactory.decodeResource(
LocalContext.current.resources,
R.drawable.landscape1,
option
)
解决方案
您可以转换Bitmap
为ImageBitmap
:
val option = BitmapFactory.Options()
option.inPreferredConfig = Bitmap.Config.ARGB_8888
val bitmap = BitmapFactory.decodeResource(
LocalContext.current.resources,
R.drawable.test,
option
).asImageBitmap()
请注意,每次重组都会花费大量时间,因此您可能希望将其包装起来remember
推荐阅读
- html - 即使从控制器更新后,Textarea ng-model 也会保留最后一个值
- android - 如果 RN 已被杀死,如何执行某些事件?
- django - How can I pass in a parameter to my TestCase in Django?
- ios - 将视频分享到 Instagram Story
- c++ - 无论如何提示编译器在没有异常的情况下优化 scope_failure 的析构函数?
- php - Get data from two tables
- java - Java while 循环条件被其他对象更改
- perl - How to build Perl with PERL_IMPLICIT_CONTEXT?
- pentaho - 如何在 Drools 规则(DSL)的条件左侧写入多个条件(1 或 2)
- c# - 嵌套多个 Task.WhenAll 和将所有任务扁平化为一个 Task.WhenAll 之间有区别吗?