Created
November 9, 2023 14:42
-
-
Save yuuahp/3ec1549b591e7fa8ce50255f601e59d9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // kotlin ./webp-to-png.main.kts webp-folder | |
| @file:DependsOn("com.sksamuel.scrimage:scrimage-core:4.1.1") | |
| @file:DependsOn("com.sksamuel.scrimage:scrimage-webp:4.1.1") | |
| import com.sksamuel.scrimage.ImmutableImage | |
| import com.sksamuel.scrimage.nio.PngWriter | |
| import java.io.File | |
| import kotlin.system.exitProcess | |
| val folder = File(args[0]) | |
| if (!folder.exists() || !folder.isDirectory) { | |
| println("Invalid folder: $folder") | |
| exitProcess(0) | |
| } | |
| val files: Array<File> = folder.listFiles() ?: emptyArray() | |
| files.filter { it.extension == "webp" }.forEach { | |
| val image = ImmutableImage.loader().fromFile(it) | |
| val pngFileName = "${it.absolutePath.removeSuffix(".webp")}.png" | |
| image.output(PngWriter.NoCompression, pngFileName) | |
| it.copyTo(folder.resolve("webp-backups/${it.name}")) | |
| it.delete() | |
| println("${it.name} -> $pngFileName") | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment