library(magick)
## Warning: package 'magick' was built under R version 4.2.3
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11

fungsi dalam library magick telah divektorisasi agar dapat mendukung fungsi lainnya seperti lapisan, komposisi, atau animasi.

download gambar gif bumi dan membuat sedikit lebih kecil

earth <- image_read("https://jeroen.github.io/images/earth.gif") %>%
  image_scale("200x") %>%
  image_quantize(128)

length(earth)
## [1] 44
earth

head(image_info(earth))
##   format width height colorspace matte filesize density
## 1    GIF   200    200        RGB FALSE        0   72x72
## 2    GIF   200    200        RGB  TRUE        0   72x72
## 3    GIF   200    200        RGB  TRUE        0   72x72
## 4    GIF   200    200        RGB  TRUE        0   72x72
## 5    GIF   200    200        RGB  TRUE        0   72x72
## 6    GIF   200    200        RGB  TRUE        0   72x72
rev(earth) %>% 
  image_flip() %>% 
  image_annotate("meanwhile in Australia", size = 20, color = "white")

Layer(Lapisan): Dalam magick kita dapat menumpuk layer(Lapisan) seperti yang kita lakukan di aplikasi graphic design

bigdata <- image_read('https://jeroen.github.io/images/bigdata.jpg')
frink <- image_read("https://jeroen.github.io/images/frink.png")
logo <- image_read("https://jeroen.github.io/images/Rlogo.png")
img <- c(bigdata, logo, frink)
img <- image_scale(img, "300x300")
image_info(img)
##   format width height colorspace matte filesize density
## 1   JPEG   300    225       sRGB FALSE        0   72x72
## 2    PNG   300    232       sRGB  TRUE        0   72x72
## 3    PNG   148    300       sRGB  TRUE        0   72x72

fungsi dari image_mosaic adalah mencetak gambar di atas satu sama lain, dan memperluas kanvas agar gambar menjadi pas

image_mosaic(img)

Perataan menggabungkan lapisan menjadi satu gambar yang memiliki ukuran gambar lapisan pertama:

image_flatten(img)

Perataan dan mosaik memungkinkan untuk menentukan operator komposit alternatif:

image_flatten(img, 'Add')

image_flatten(img, 'Modulate')

image_flatten(img, 'Minus')

KOMBINASI Menambahkan gambar dam menaruhnya disamping gambar sebelumnya

image_append(image_scale(img, "x200"))

stack = true, untuk menempatkan gambar secara vertikal

image_append(image_scale(img, "100"), stack = TRUE)

menggabungkan dua gambar pada posisi tertentu:

bigdatafrink <- image_scale(image_rotate(image_background(frink, "none"), 300), "x200")
image_composite(image_scale(bigdata, "x400"), bigdatafrink, offset = "+180+100")