https://github.com/succlz123/compose-desktop-imageloader
A simple image loader for compose desktop
https://github.com/succlz123/compose-desktop-imageloader
compose compose-desktop compose-image-loader compose-imageloader composer-package image-loader imageloader
Last synced: about 1 year ago
JSON representation
A simple image loader for compose desktop
- Host: GitHub
- URL: https://github.com/succlz123/compose-desktop-imageloader
- Owner: succlz123
- Created: 2022-09-14T05:28:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-10-03T11:36:13.000Z (over 3 years ago)
- Last Synced: 2025-03-25T13:45:44.275Z (about 1 year ago)
- Topics: compose, compose-desktop, compose-image-loader, compose-imageloader, composer-package, image-loader, imageloader
- Language: Kotlin
- Homepage:
- Size: 416 KB
- Stars: 36
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![banner][file:banner]
[file:banner]: screenshot/banner.png
## Introduction
A simple, crude image loader that supports memory and disk LRU caching. Only supported Compose Desktop, because there
are some more powerful image loader lib for Android platform.
You can see the official doc for more inspiration.
https://github.com/JetBrains/compose-jb/tree/master/tutorials/Image_And_Icons_Manipulations
## Screenshot
![1][file:1]
[file:1]: screenshot/imageloader-1.png
## Usage
```kotlin
ImageAsyncImageUrl(imageUrl,
imageCallback = ImageCallback {
Image(modifier = Modifier.size(640.dp), painter = it, contentDescription = "123")
})
ImageRes("compose-logo.png",
imageCallback = ImageCallback {
Image(modifier = Modifier.size(64.dp), painter = it, contentDescription = "res")
})
ImageAsyncSvgUrl("https://raw.githubusercontent.com/JetBrains/compose-jb/master/artwork/compose-logo.svg",
density = LocalDensity.current,
imageCallback = ImageCallback {
Image(modifier = Modifier.size(64.dp), painter = it, contentDescription = "svg")
})
ImageAsyncVectorUrl("https://raw.githubusercontent.com/JetBrains/compose-jb/master/artwork/compose-logo.xml",
density = LocalDensity.current,
imageCallback = ImageCallback {
Image(modifier = Modifier.size(64.dp), painter = it, contentDescription = "vector")
})
```
## Download
```
implementation("io.github.succlz123:compose-imageloader-desktop:0.0.2")
```
## Thanks
- https://github.com/K1rakishou/Caching-Image-Loader
- https://github.com/MayakaApps/KotlinizedLruCache
- https://github.com/JakeWharton/DiskLruCache