A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/dieghernan/resmush below:

dieghernan/resmush: Compress local and online images using the reSmush.it API service https://resmush.it/

resmush

resmush is a R package that allow users to optimize and compress images using reSmush.it. reSmush.it is a free API that provides image optimization, and it has been implemented on WordPress, Drupal and many more.

Some of the features of reSmush.it are:

Install resmush from CRAN with:

install.packages("resmush")

You can install the development version of resmush from GitHub with:

remotes::install_github("dieghernan/resmush")

Alternatively, you can install resmush using the r-universe:

# Install resmush in R:
install.packages("resmush", repos = c(
  "https://dieghernan.r-universe.dev",
  "https://cloud.r-project.org"
))

Compressing an online jpg image:

library(resmush)

url <- paste0(
  "https://raw.githubusercontent.com/dieghernan/",
  "resmush/main/img/jpg_example_original.jpg"
)

resmush_url(url, outfile = "man/figures/jpg_example_compress.jpg", overwrite = TRUE)
#> ══ resmush summary ═════════════════════════════════════════════════════════════
#> ℹ Input: 1 url with size 178.7 Kb
#> ✔ Success for 1 url: Size now is 45 Kb (was 178.7 Kb). Saved 133.7 Kb (74.82%).
#> See result in directory 'man/figures'.

Original picture (top) 178.7 Kb and optimized picture (bottom) 45 Kb (Compression 74.8%). Click to enlarge.

The quality of the compression can be adjusted in the case of jpg files using the parameter qlty. However, it is recommended to keep this value above 90 to get a good image quality.

# Extreme case
resmush_url(url,
  outfile = "man/figures/jpg_example_compress_low.jpg", overwrite = TRUE,
  qlty = 3
)
#> ══ resmush summary ═════════════════════════════════════════════════════════════
#> ℹ Input: 1 url with size 178.7 Kb
#> ✔ Success for 1 url: Size now is 2.2 Kb (was 178.7 Kb). Saved 176.4 Kb (98.74%).
#> See result in directory 'man/figures'.

Low quality image due to a high compression rate.

All the functions return invisibly a data set with a summary of the process. The next example shows how when compressing a local file.

png_file <- system.file("extimg/example.png", package = "resmush")

# For the example, copy to a temporary file
tmp_png <- tempfile(fileext = ".png")
file.copy(png_file, tmp_png, overwrite = TRUE)
#> [1] TRUE


summary <- resmush_file(tmp_png, overwrite = TRUE)

tibble::as_tibble(summary[, -c(1, 2)])
#> # A tibble: 1 × 6
#>   src_size dest_size compress_ratio notes src_bytes dest_bytes
#>   <chr>    <chr>     <chr>          <chr>     <dbl>      <dbl>
#> 1 239.9 Kb 70.7 Kb   70.54%         OK       245618      72356

There are other alternatives for optimizing images with R:

tool CRAN Additional software? Online? API Key? Limits? xfun::tinify() Yes No Yes Yes 500 files/month (Free tier) xfun::optipng() Yes Yes No No No tinieR No No Yes Yes 500 files/month (Free tier) optout No Yes No No No resmush Yes No Yes No Max size 5Mb

Table 1: R packages: Comparison of alternatives for optimizing images.

tool png jpg gif bmp tiff webp pdf xfun::tinify() ✅ ✅ ❌ ❌ ❌ ✅ ❌ xfun::optipng() ✅ ❌ ❌ ❌ ❌ ❌ ❌ tinieR ✅ ✅ ❌ ❌ ❌ ✅ ❌ optout ✅ ✅ ❌ ❌ ❌ ❌ ✅ resmush ✅ ✅ ✅ ✅ ✅ ❌ ❌

Table 2: R packages: Formats admitted.

Hernangómez D (2025). resmush: Optimize and Compress Image Files with reSmush.it. doi:10.32614/CRAN.package.resmush, https://dieghernan.github.io/resmush/.

A BibTeX entry for LaTeX users is

@Manual{R-resmush,
  title = {{resmush}: Optimize and Compress Image Files with {reSmush.it}},
  doi = {10.32614/CRAN.package.resmush},
  author = {Diego Hernangómez},
  year = {2025},
  version = {0.2.1},
  url = {https://dieghernan.github.io/resmush/},
  abstract = {Compress local and online images using the reSmush.it API service <https://resmush.it/>.},
}

Xie, Yihui. 2024. xfun: Supporting Functions for Packages Maintained by Yihui Xie. https://github.com/yihui/xfun.

All contributions to this project are gratefully acknowledged using the allcontributors package following the allcontributors specification. Contributions of any kind are welcome!


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4