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.

tinyimg

R-CMD-check

An R package for optimizing and compressing images using Rust libraries. Currently supports PNG optimization via the oxipng crate.

Installation

You can install the development version of tinyimg from GitHub:

# install.packages("remotes")
remotes::install_github("yihui/tinyimg")

Usage

Basic PNG optimization

library(tinyimg)

# Create a test PNG
tmp = tempfile()
png(tmp, width = 400, height = 400)
plot(1:10)
dev.off()

# Optimize with different levels
optim_png(tmp, paste0(tmp, "-o1.png"), level = 1)
optim_png(tmp, paste0(tmp, "-o6.png"), level = 6)

Directory optimization

# Optimize all PNGs in a directory
optim_png("path/to/directory")

Optimization levels

The level parameter controls the optimization level (0-6):

See the benchmark results for detailed comparisons of optimization levels and ?optim_png for full documentation.

For Package Developers

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.sh

This creates the local vendor/ directory needed for development. Neither vendor/ nor vendor.tar.xz are tracked in git.

License

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.