library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.5     ✓ purrr   0.3.4
## ✓ tibble  3.1.2     ✓ dplyr   1.0.7
## ✓ tidyr   1.0.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## Warning: package 'ggplot2' was built under R version 3.6.2
## Warning: package 'tibble' was built under R version 3.6.2
## Warning: package 'purrr' was built under R version 3.6.2
## Warning: package 'dplyr' was built under R version 3.6.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(ggstamp)
myalpha = .5
ggcanvas() + 
  stamp_text_ljust(label = "Counting Capybara",
                   x = -.75,
                   y = 1.5,
                   color = "gray30") +
  stamp_text(x = 0:3*2,
                   y = .75,
                   label = paste0(c("one","two","three","four"), 
                                 "\ncapybara"),
                   size = 6,
                   color = "gray30") +
  stamp_png(png = "noun_Capybara_3385908.png", 
            x0y0 = pos_wrap_multi(ncol = 1, 
                               n = 1:4),
            width = 1.4,
            reduce = 30,
            alpha = myalpha) + 
  stamp_text(label = "Whether singular or plural, you can say 'Capybara'! But 'Capybaras' works for plural",
             text_wrap = T,
             char_width = 30,
             x = 1.5,
             y = -2.75,
             size = 6,
             color = "gray39"
             ) +
  # theme_void_fill() +
  NULL ->
plot_sketch

plot_sketch
## Warning: Raster pixels are placed at uneven horizontal intervals and will be
## shifted. Consider using geom_tile() instead.
## Warning: Raster pixels are placed at uneven vertical intervals and will be
## shifted. Consider using geom_tile() instead.

my_pos <- pos_wrap_multi(ncol = 1, 
                         n = 1:4)

# api a little awkward but works
myalpha = 0 
reduce(
  1:nrow(my_pos),
  ~ .x + stamp_png2(png = "noun_Capybara_3385908.png", 
                    width = 1.4,
                    color = "gray30",
                    x0y0 = my_pos[.y,]),
  .init = plot_sketch
)  + 
  theme_void_fill(margin.top = 30,
                  margin.left = 40,
                  margin.right = 40) 
## Warning: Raster pixels are placed at uneven horizontal intervals and will be
## shifted. Consider using geom_tile() instead.
## Warning: Raster pixels are placed at uneven vertical intervals and will be
## shifted. Consider using geom_tile() instead.