coil-kt/coil

ContentScale.FillBounds does not work with GIFs

Open

#869 opened on Aug 23, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Kotlin (11,779 stars) (757 forks)batch import
help wanted

Description

Describe the bug 当我在Compose中使用Gif加载图片时,Image属性设置的Scale.FillBounds(拉伸),如果使用 ImageDecoderDecoder 来加载Gif,图片不能正常缩放,预期效果应该是拉伸,使用GifDecoder就可以正常工作。 When I use GIF to load pictures in compose, the image attribute is set to scale. Fillbound (like FitXY). If I use imagedecoder to load GIF, the picture cannot be showing normally. The expected effect should be stretching. Using gifdecoder can work normally.

Expected behavior The expected effect should be stretching.

To Reproduce class DefaultImageLoaderFactory(val context: Context) : ImageLoaderFactory { private val sourceLoader = Coil.imageLoader(context) override fun newImageLoader(): ImageLoader { return sourceLoader.newBuilder() .componentRegistry { if (Build.VERSION.SDK_INT >= 28) { add(ImageDecoderDecoder(context)) } else { add(GifDecoder()) } } .build() } }

Coil.setImageLoader(DefaultImageLoaderFactory(context))

Image( modifier = Modifier.fillMaxSize(), painter = rememberImagePainter( data = ads.resourceUrl, builder = { placeholder(R.drawable.placeholder) }, ), contentDescription = null, contentScale = ContentScale.FillBounds ) Logs/Screenshots if need ,tell me.

Version What library version are you using? Does this occur on a specific API level or Android device? implementation("io.coil-kt:coil-gif:1.3.2")

Contributor guide