Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Squoosh | 19,580 | 52 | 9 days ago | 12 | January 03, 2023 | 201 | apache-2.0 | TypeScript | ||
Make images smaller using best-in-class codecs, right in the browser. | ||||||||||
Compressor | 6,557 | a year ago | 4 | March 22, 2021 | 125 | Kotlin | ||||
An android image compression library. | ||||||||||
Crunch | 3,146 | a year ago | 9 | other | Python | |||||
Insane(ly slow but wicked good) PNG image optimization | ||||||||||
Tiny | 2,495 | 3 years ago | 57 | apache-2.0 | C | |||||
an image compression framework.(一个高保真、高压缩比的图片压缩框架) | ||||||||||
Caesium Image Compressor | 1,850 | 4 days ago | 21 | gpl-3.0 | C++ | |||||
Caesium is an image compression software that helps you store, send and share digital pictures, supporting JPG, PNG and WebP formats. You can quickly reduce the file size (and resolution, if you want) by preserving the overall quality of the image. | ||||||||||
Image Actions | 1,324 | a month ago | 25 | gpl-3.0 | TypeScript | |||||
A Github Action that automatically compresses JPEGs, PNGs and WebPs in Pull Requests. | ||||||||||
Advancedluban | 1,249 | 4 years ago | 26 | apache-2.0 | Java | |||||
An Advanced Compress Image Library for Android / 高效、简洁的图片压缩工具库 | ||||||||||
Imgsquash | 949 | 3 years ago | 7 | mit | JavaScript | |||||
Simple image compression full website code written in node, react and next.js framework. Easy to deploy as a microservice. | ||||||||||
Browser Image Compression | 922 | 23 | 26 | 2 months ago | 21 | April 12, 2022 | 38 | mit | JavaScript | |
Image compression in web browser | ||||||||||
Srec | 918 | 2 years ago | 8 | mit | Python | |||||
PyTorch Implementation of "Lossless Image Compression through Super-Resolution" |
dependencies {
implementation 'id.zelory:compressor:3.0.1'
}
val compressedImageFile = Compressor.compress(context, actualImageFile)
val compressedImageFile = Compressor.compress(context, actualImageFile) {
default()
destination(myFile)
}
val compressedImageFile = Compressor.compress(context, actualImageFile) {
default(width = 640, format = Bitmap.CompressFormat.WEBP)
}
val compressedImageFile = Compressor.compress(context, actualImageFile) {
resolution(1280, 720)
quality(80)
format(Bitmap.CompressFormat.WEBP)
size(2_097_152) // 2 MB
}
class MyLowerCaseNameConstraint: Constraint {
override fun isSatisfied(imageFile: File): Boolean {
return imageFile.name.all { it.isLowerCase() }
}
override fun satisfy(imageFile: File): File {
val destination = File(imageFile.parent, imageFile.name.toLowerCase())
imageFile.renameTo(destination)
return destination
}
}
val compressedImageFile = Compressor.compress(context, actualImageFile) {
constraint(MyLowerCaseNameConstraint()) // your own constraint
quality(80) // combine with compressor constraint
format(Bitmap.CompressFormat.WEBP)
}
fun Compression.lowerCaseName() {
constraint(MyLowerCaseNameConstraint())
}
val compressedImageFile = Compressor.compress(context, actualImageFile) {
lowerCaseName() // your own extension
quality(80) // combine with compressor constraint
format(Bitmap.CompressFormat.WEBP)
}
// e.g calling from activity lifecycle scope
lifecycleScope.launch {
val compressedImageFile = Compressor.compress(context, actualImageFile)
}
// calling from global scope
GlobalScope.launch {
val compressedImageFile = Compressor.compress(context, actualImageFile)
}
val compressedImageFile = Compressor.compress(context, actualImageFile, Dispatchers.Main)
Please read this readme
Copyright (c) 2016 Zetra.
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.