The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
An R package for optimizing and compressing images using Rust libraries. Currently supports PNG optimization via exoquant (lossy palette reduction) and oxipng (lossless optimization).
You can install the development version of {tinyimg} from r-universe.dev:
install.packages("tinyimg", repos = "https://yihui.r-universe.dev")library(tinyimg)
# Create a test PNG
tmp = tempfile()
png(tmp, width = 400, height = 400)
plot(1:10)
dev.off()
# Optimize with different levels (lossless)
tinypng(tmp, paste0(tmp, "-o1.png"), level = 1)
tinypng(tmp, paste0(tmp, "-o6.png"), level = 6)
# Lossy
tinypng(tmp, paste0(tmp, "-lossy.png"), lossy = 2.3)# Optimize all PNGs in a directory
tinypng("path/to/directory")The level parameter controls the optimization level
(0-6):
0: Fast optimization with minimal compression2: Default - good balance between speed and
compression6: Maximum optimization - best compression but
slowerSee the benchmark
results for detailed comparisons of optimization levels and
?tinypng for full documentation.
When installing from GitHub via
remotes::install_github("yihui/tinyimg"), the package will
automatically create the vendor directory if Rust is installed on your
system.
If you’re developing and need to manually create the vendor directory:
# Run the update script to create vendor/ directory
./src/rust/update-vendor.shThis creates the local vendor/ directory needed for
development. Neither vendor/ nor vendor.tar.xz
are tracked in git.
MIT License. See LICENSE file for details.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.