Compressor
An easy to use image compress library for Android.
Install / Use
/learn @Shouheng88/CompressorREADME
An advanced image compress library for Android. Allow you to custom
- Image source types (Uri/File/bitmap/Byte array/Custom...)
- Result image types (Bitmap/File)
- Compress task execution mode (Blocking/RxJava/Kotlin coroutines/AsyncTask)
- Image compress algorithms
To use the library, to add maven central at first,
repositories { mavenCentral() }
then, add our library in your dependency:
implementation 'com.github.Shouheng88:compressor:latest-version'
Sample: to compress an Uri image, try to get result as File and launch in kotlin coroutines. The code will be,
GlobalScope.launch {
val result = Compress.with(context, file.uri(context))
.setQuality(80)
.concrete {
withMaxWidth(100f)
withMaxHeight(100f)
withScaleMode(ScaleMode.SCALE_HEIGHT)
withIgnoreIfSmaller(true)
}
.get(Dispatchers.IO)
withContext(Dispatchers.Main) {
Glide.with(context).load(result).into(binding.iv6)
}
}
The library allows you to cusotm a lot. So,
- To learn more usage, please read Sample Codes.
- To learn how to custom algorithm, please read sample for custom algorithm.
- To learn how to custom image sources, please read sample for custom image sources.
License
Copyright (c) 2019-2021 Shouheng Wang.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Related Skills
healthcheck
341.8kHost security hardening and risk-tolerance configuration for OpenClaw deployments
imsg
341.8kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
341.8kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
