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 Fish",
                   x = -.75,
                   y = 1.5,
                   color = "gray30") +
  stamp_text(x = 0:3*2,
                   y = .75,
                   label = paste0(c("one","two","red","blue"), 
                                 "\nfish"),
                   size = 6,
                   color = "gray30") +
  stamp_png(png = "noun_Fish_2459037.png", 
            x0y0 = pos_wrap_multi(ncol = 1, 
                               n = c(1,2,1,1)),
            width = 1.4,
            reduce = 30,
              alpha = myalpha) + 
  stamp_text(label = "It's always 'fish'",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 = c(1,2,1,1))

# api a little awkward but works
myalpha = 0 
reduce(
  1:nrow(my_pos),
  ~ .x + stamp_png2(png = "noun_Fish_2459037.png", 
                    width = 1.4,
                    color = c("gray30","gray30","gray30","darkred","navy")[.y],
                    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.